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行目をコメントアウトすれば解決である。

ちなみに、再ログインすれば反映される。