「さくらのVPS」CentOS 初期設定2 〜 シェル・Vim関連設定
いろいろ設定する。
screenのインストールと設定
まずは screen 。自宅のグローバルIPアドレスが数日ごとに変わる。と言うことはちょくちょく接続が切れているわけで、作業中に切れるとたまらないので、これは必須。
$ sudo yum install screen
好みで制御文字を変更して、ヴィジュアルベルを抑止*1。
$ vi ~/.screenrc
以下の内容で新規作成。
escape ^Z^Z
vbell_msg ""
ログイン時に自動的に screen が起動されるように。
$ vi .bash_profile 末尾に追加。 exec screen -R
実は screen をログインシェルにしてみたのだが、他ホストから ssh でのコマンド実行や scp が出来なくなってしまったので、やめた。
ログインシェルにした場合は、SHELL=/bin/sh LANG=C で起動されるので、.screenrc に追加で下記が必要。ログインシェルが bash だと、LANG=ja_JP.UTF-8 になり、エンコードについてはよしなにやってくれるので記述不要。
shell -bash defutf8 on defencoding utf-8 encoding utf-8 utf-8
.bash_profile に exec screen -R を書いて、.screenrc に shell -bash を書くとループするので駄目。書くなら shell bash とかにしておく。
日本語関係の設定
$ sudo cp -p /etc/sysconfig/i18n /etc/sysconfig/i18n.orig $ sudo vi /etc/sysconfig/i18n LANGの行を修正 LANG="ja_JP.UTF-8"
bash 関係の設定いろいろ
Fedora の EPEL ライブラリから bash-completion*2のインストール。環境変数、alias 等の設定。root でも有効にしたいので、/etc/profile.d に置き、他の設定が動いた後で動くようにzzで始まる名前にする。
$ sudo yum --enablerepo=epel install bash-completion $ sudo vi /etc/profile.d/zzlocal.sh 以下の内容で新規作成。 alias m=less alias ls="ls -xvF" alias vi=vim alias eman="LANG=C man" unset LS_COLORS export LC_TIME=C export LESS="-MXe~" export PAGER=/usr/bin/less case ":${LD_LIBRARY_PATH}:" in *:/usr/local/lib:*) ;; *) export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}/usr/local/lib ;; esac export HISTSIZE=9999 export HISTTIMEFORMAT="%m-%d %T " export HISTCONTROL=ignoreboth:erasedups shopt -s histappend $ sudo cp -p /etc/inputrc /etc/inputrc.orig $ sudo vi /etc/inputrc 末尾に追加。 "\C-d":delete-char-or-list "\C-n":history-search-forward "\C-p":history-search-backward "\C-l":redraw-current-line
eman は英文マニュアル。
LC_TIME=C は日時の表示を英語に。
LD_LIBRARY_PATH に /usr/local/lib を追加。
ヒストリ設定については man bash 参照。
Ctrl-P、Ctrl-N で、ヒストリーを上下する際に、文字列を入れてから押すとその文字列で始まるヒストリーだけが対象になる。
Ctrl-D、Ctrl-L は好みか。
vimの設定
$ sudo cp -p /etc/vimrc /etc/vimrc.orig $ sudo vi /etc/vimrc 末尾に追加。 set fileencodings=ucs-bom,utf-8,eucjp set ambiwidth=double set incsearch smartcase nowrapscan viminfo+=h set whichwrap= backspace=indent set tabstop=4 shiftwidth=4 autocmd FileType * setlocal formatoptions-=ro
fileencodings は、ファイル読み込み時の文字コード自動判断の優先度。
ambwidth=double は、Unicodeで半角全角がフォントによって違う文字*3を全角と判断してカーソル移動をする。
検索の設定では、インクリメンタルサーチで、小文字入力時にはケース無視で、大文字入力時はケース無視しない。ファイル先頭と末尾をまたいで検索しない。起動時に前回の検索文字をハイライトしない。
whichwrap= は、左右のカーソル移動で行を越えない。
backspace= は、BSキーがインサート開始地点や行を越えない。
tabstop= は、タブ幅は4で空白には変換しない。shiftwidth= も、タブ幅4。
formatoption-=ro は、入力モードで、コメントを自動継続しない。
参考:
id:otn:20110501
MK's Memorandum: 単純な .screenrc の紹介
vimの改行時に自動でコメントが挿入されるのをやめたい - 仙台 Ruby Vim JavaScript フリーランスプログラマ