Percebi que quando abro um arquivo como ~/.bashrc
no Vim como root, o realce de sintaxe (SH) ao editar um script bash como usuário normal (azul para comentários, laranja para palavras-chave, vermelho para números etc.) Alguém pode me dizer de qual configuração isso depende? Estou usando o Debian Stretch.
Editar: descobri que há uma opção syntax on
em /etc/vim/vimrc
que você pode descomentar para ativar o realce de sintaxe por padrão. Eu me pergunto por que meu usuário normal tinha esse recurso ativado por padrão, enquanto o superusuário não.
Se você estiver usando
sudo -H <command>
,sudo -i
ou sua versão dosudo
tiverDefaults always_set_home
definido (/etc/sudoers
no padrão ou como um padrão compilado), os shells executados como root usarão/root/.bashrc
para suas configurações em vez de~original_user/.bashrc
.O ambiente padrão do Root geralmente é mais conservador do que os padrões do usuário comum. Isso ocorre porque quando um sistema apresenta problemas, talvez seja necessário fazer login como root no console para corrigi-lo.
Esse console pode ser uma porta serial ou um emulador de terminal baseado em Java ou HTML5 em uma página da Web gerada por uma plataforma de nuvem (em uma máquina virtual) ou um processador de gerenciamento (em uma máquina física). Alguns deles são limitados a um conjunto bastante básico de recursos do terminal, e tentativas de usar recursos avançados podem causar lixo na tela do terminal.
Portanto, é melhor ter as cores desabilitadas por padrão e permitir que o administrador do sistema as habilite se for seguro.
Embora o que a telcoM escreve em sua resposta faça sentido, no meu caso se resumiu simplesmente à presença de um
/root/.vimrc
sem um explícitosyntax on
nele. Certa vez, criei esse arquivo para configurações preferenciais e não havia necessidade de tal arquivo para o usuário normal. Portanto, não havia/home/stefan/.vimrc
, e isso parece habilitar o realce de sintaxe por padrão, mesmo que a linhasyntax on
seja comentada em/etc/vim/vimrc
.