Como eu configuro o vim como editor padrão quando eu sudo?

3

Estou trabalhando em uma máquina CentOS 5.9 e simplesmente quero digitar

sudo vi somefile

e ter o meu fiel vim com realce de sintaxe, etc. Isso parece bastante simples, mas depois de muitas tentativas, ainda não está funcionando.

root@localhost> which vi
alias vi='vim'
        /usr/bin/vim
root@localhost> sudo which vi
/bin/vi
root@localhost> sudo -i which vi
/bin/vi
root@localhost> sudo -E which vi
/bin/vi

Eu efetuei login como root para garantir que, por padrão, vi somefile chamasse o vim. Isso aconteceu. Eu também tentei preservar o ambiente com -E e executar os scripts de login com -i. Isso não funcionou. Tanto no meu .profile quanto no / etc / environment, eu exporto o EDITOR como vim e configuro o vi como um alias para o vim.

Também comentei uma linha env_reset em / etc / sudoers.

O que mais devo experimentar? Eu não acho que substituir o vi pelo vim seria tão difícil, e eu realmente gosto de entender o que está acontecendo aqui.

    
por Keith Bentrup 18.04.2013 / 14:22

2 respostas

5

É para isso que serve o comando sudoedit . Cria uma cópia temporária que é editada no ambiente dos usuários. Consulta SUDO_EDITOR , VISUAL e a variável EDITOR para encontrar um binário adequado. Após a edição, a cópia sobrescreve o arquivo original.

    
por 18.04.2013 / 14:39
2

Caso você sempre queira usar vim em vez de vi , basta

$ sudo ln -s /usr/bin/vim /usr/local/bin/vi

(Isso pressupõe que você tenha /usr/local/bin antes /bin no seu PATH .)

Concedido, é um hack (sistema-local), mas bastante simples e eficaz.

    
por 18.04.2013 / 14:38

Tags