git usando uma versão diferente do vim do que zsh

2

Eu tenho um plugin chamado YouCompleteMe instalado no vim. Quando o vim iniciar com este plugin instalado, ele irá gerar um aviso se a versão do vim estiver abaixo do mínimo necessário.

Estou usando o vim 7.3.754, que é capaz de executar o YCM, mas quando executo comandos como git merge ou git commit --amend , vejo o aviso:

YouCompleteMe unavailable: requires Vim 7.3.584+

Minha pergunta é: por que o git está usando uma versão diferente do vim do que do zsh, e como posso fazer com que ele use a mesma versão?

    
por asfallows 26.03.2014 / 20:33

2 respostas

4

De acordo com man git-var git, o editor usa essa sequência:

The order of preference is the $GIT_EDITOR environment variable, then core.editor configuration, then $VISUAL, then $EDITOR, and then finally vi.

Eu suponho que você não tenha definido nenhuma dessas variáveis, então git leva vi - que normalmente roda o vim no modo compatível vi (dependendo da distribuição).

Portanto, verifique onde seu vim atualizado está localizado:

which vim

Em seguida, defina esse executável como o editor git padrão:

git config --global core.editor /usr/bin/vim

Como alternativa, não é uma má ideia definir $VISUAL . Outros programas também usam essa variável de ambiente. Para fazer isso, inclua

export VISUAL=/usr/bin/vim

no seu ~/.zshrc e do source ~/.zshrc .

    
por 26.03.2014 / 20:55
2

O Git usa $EDITOR ou $VISUAL ou $GIT_EDITOR ou o editor que você especificou para core.editor em ~/.gitconfig .

    
por 26.03.2014 / 20:53

Tags