rootでもvimの構文色分けを行いたい。
以下、CentOS5環境、2009年3月時点での話である。
構文色分けを行うには、「~/.vimrc」に、以下を追加すればよい。
syntax on
ところが、rootでは、その設定が効かない。なぜか。
よく見てみると、rootは「vi」が起動し、新しく作成したユーザー(new_user)は「vim」が起動している。
new_userで、「which vi」とすればわかる。
alias vi='vim' /usr/bin/vim
rootでは、以下のようになる。
/bin/vi
では、これを行っているのはどこか。
/etc/profile.d/vim.sh
これである。
if [ -n "$BASH_VERSION" -o -n "$KSH_VERSION" -o -n "$ZSH_VERSION" ]; then [ -x /usr/bin/id ] || return [ `/usr/bin/id -u` -le 100 ] && return # for bash and zsh, only if no alias is already set alias vi >/dev/null 2>&1 || alias vi=vim fi
3行目、ユーザーIDが100以下の場合は終了と記述してある。
このせいで、rootではaliasが張られず、viが起動するのである。
強引ではあるが、3行目をコメントアウトすれば解決である。
ちなみに、再ログインすれば反映される。