vim está usando a versão anterior do vimrc sob algumas circunstâncias

1

Coisa engraçada está acontecendo comigo em vim : fiz algumas alterações no ~/.vimrc de um usuário para personalizar a linha de status com uma função simples (as alterações foram feitas em vários salvamentos enquanto refinei o código) e agora que o código carrega sem nenhum problema se eu executar vim FILE da linha de comando, mas por algum motivo ele carrega uma versão anterior de .vimrc (ou seja, uma versão salva anteriormente) quando eu executo sudo visudo ou execute vim da GUI (menu de aplicativos).

Muito estranho.

Eu posso identificar isso porque ele dá um erro de sintaxe dentro dessa função devido a uma falta de let que fixei na versão final e carrega bem para o usuário do shell, mas não para o usuário quando executado a partir da GUI ou quando usando sudo em que uma versão do código com o erro de sintaxe é carregada na inicialização.

Eu tentei copiar o .vimrc para /root do usuário e executei grep -rI "functionName" ~ , mas nenhum dos dois ajudou.

O engraçado é que, quando dentro de vim com uma linha de status quebrada, se eu usar :e $MYVIMRC ele carrega o correto, então eu também posso usar :source $MYVIMRC e tudo fica bem (isto é, a linha de status funciona e o erro de sintaxe desapareceu).

Algum palpite sobre o porquê da vim startup, nessas duas situações (e talvez mais), usa uma versão anterior?

    
por Paolo 04.09.2018 / 10:30

1 resposta

1

Quando ouço "configuração desatualizada", suspeito do seguinte:

  • link simbólico quebrado / esqueci de copiar a configuração do usuário para raiz (isso é específico para o caso de uso da execução na raiz)
  • sessão armazenada ( :mksession ) inclui configuração antiga e é restaurada automaticamente (não parece ser o caso aqui)
  • Problema de ambiente
  • (o Vim tem vários locais e substituições para procurar configuração, conforme descrito em :help startup )

Eu verifico :scriptnames na sessão raiz quebrada primeiro. Isso deve informar qual ~/.vimrc é selecionado e se outras configurações (alternativas) também estão erroneamente carregadas. Se isso não oferecer pistas, você pode capturar um log completo de uma sessão do Vim com vim -V20vimlog (talvez prefixado com sudo no seu caso, para que o problema ocorra). Depois de encerrar o Vim, examine o arquivo de log vimlog e talvez adicione comentários ao ~/.vimrc para que você possa distinguir as diferentes versões de arquivo.

    
por 04.09.2018 / 10:55

Tags