Por que o VI tem sintaxe colorida como usuário normal e como usuário root não?

OK, é uma dica bem básica mas que deixa muitos iniciantes quebrando a cabeça…

Você abre o Vi como usuário normal e o texto é exibido colorido, de acordo com a sintaxe do arquivo (SQL, C, etc.); mas quando você abre o mesmo arquivo como usuário root, o texto é exibido sem cor nenhuma. Por que isso ocorre?

Na maioria das vezes seu sistema tem 2 versões do Vi instalado: a versão original, básica, o Vi, e a versão melhorada, o Vim (Vi IMproved).

Geralmente o usuário root utiliza a versão Vi (que fica em /bin/vi) e o usuário normal utiliza a versão Vim (que fica em /usr/bin/vim).

Para ter certeza disso, execute o seguinte comando “which vi” como usuário normal e como usuário root:

[root@dbserver ~]# which vi
/bin/vi

[abrantesasf@dbserver ~]$ which vi
alias vi='vim'
 /usr/bin/vim

Como você pode ver, o usuário root utiliza o Vi (em /bin/vi) e o usuário normal utiliza o Vim (em /usr/bin/vim) através de um alias. Para fazer o usuário root usar o Vim, basta criar um alias editando o arquivo .bashrc no diretório home do usuário root e acrescentar a seguinte linha:

alias vi='/usr/bin/vim'

Agora o usuário root também usará o Vim e terá a sintaxe colorida nos arquivos.