como posso obter minha inicialização vim normal quando executo o sudo vim?

2

Eu tenho um alias definido alias svi='sudo /usr/bin/vim -i /home/jeff/.viminfo -u /home/jeff/.vimrc' mas quando eu digito svi myfile recebo

Error detected while processing /home/jeff/.vimrc:
line 1:
E117: Unknown function: pathogen#infect

Parece que preciso forçar o vim a escanear meu diretório .vim antes de executar call pathogen#infect() Como faço isso e, em geral, como posso ter certeza de que quando executo sudo vim obtenho o mesmo ambiente que eu teria apenas correndo vim ?

    
por Jeff 20.06.2017 / 16:47

2 respostas

4

how can I get my normal vim initialization when I execute sudo vim?

Usando $ sudo -e filename em vez de $ sudo vim filename .

Esse comando irá:

  1. solicite sua senha (se a política de segurança do sudoers exigir);
  2. faça uma cópia de filename em /tmp/ ;
  3. abra-o como você com o primeiro editor encontrado verificando o seguinte, na ordem: $SUDO_EDITOR , $VISUAL , $EDITOR e finalmente a lista de editores especificada em / etc / sudoers;
  4. copie-o de volta para o nome do arquivo original na gravação.

Consulte man sudo e man sudoers para mais informações.

    
por 23.08.2017 / 16:31
1
Embora eu pretenda aceitar a resposta de @romainl como a solução preferida (depois que ele a ajustou um pouco), dei outra chance ao pesquisar uma solução para o erro que estava recebendo porque detesto quando os computadores tiram o melhor de mim.

Acontece que o erro tem a ver com a forma como a opção vim runtimepath é resolvida ao executar como root. Então, para corrigir o erro, mudei meu alias ligeiramente para alias svi='sudo /usr/bin/vim -i /home/jeff/.viminfo -u /home/jeff/.svimrc' e coloquei as três linhas seguintes em /home/jeff/.svimrc

set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after,/home/jeff/.vim
source /etc/vimrc
source /home/jeff/.vimrc

Eu não recebo mais o erro e meu material personalizado parece estar funcionando (até agora). Mas se eu tiver outros problemas, eu irei ler :help initialization mais para ver o que mais deve ir no meu arquivo .svimrc ....

    
por 16.10.2017 / 00:16

Tags