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

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

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

Erro detectado durante o processamento de /home/jeff/.vimrc:
linha 1:
E117: Função desconhecida: patógeno#infect

Parece que preciso forçar o vim a verificar 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 vimobterei o mesmo ambiente que teria apenas executando vim?

Responder1

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

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

Esse comando irá:

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

Consulte man sudoe man sudoerspara obter mais informações.

Responder2

Embora eu pretenda aceitar a resposta de @romainl como a solução preferida (depois que ele a ajusta um pouco), tentei novamente pesquisar uma solução para o erro que estava recebendo, porque odeio quando os computadores levam a melhor sobre mim.

Acontece que o erro tem a ver com a forma como a runtimepathopção vim é resolvida ao ser executada como root. Então, para corrigir o erro, mudei um pouco meu alias para alias svi='sudo /usr/bin/vim -i /home/jeff/.viminfo -u /home/jeff/.svimrc'e coloquei as três linhas a seguir 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

Não recebo mais o erro e meu material personalizado parece estar funcionando (até agora). Mas se eu encontrar qualquer outra falha, examinarei :help initializationum pouco mais para ver o que mais deve ser inserido no meu arquivo .svimrc....

informação relacionada