Não tenho muitas vezes que modificar várias mensagens de confirmação, mas isso aconteceu uma ou duas vezes e nem me lembro de ter visto isso. Espero que alguém tenha. Quando eu git rebase -i HEAD~7
, a lista esperada abre no vi exatamente como esperado. Eu mudo os pick
valores para edit
onde apropriado e então :wq
.
Não foi possível executar o editor
A core.editor
configuração no meu global .gitconfig
é vi
(eu também mudei para vim
um movimento desesperadamente desesperado). Eu tentei usar mate
, mas isso nem abriu a lista inicial corretamente, então eu a mudei de volta.
Estou usando a v1.7.3 e gostaria de receber sugestões.
git_editor "$TODO" || die_abort "Could not execute editor"
. Como você diz que o editor realmente aparece, isso significa que ele está retornando um código de saída diferente de zero. Você pode replicar esse comportamento usando-o normalmente na linha de comando?git config --global core.editor "/usr/local/bin/vim"
corrigiu para mim.Respostas:
Ontem foi apenas um daqueles dias. Em uma cotovia, decidi definir o caminho completo para vi (por exemplo
/usr/bin/vi
) em vez de apenas para o executável. Agora tudo funciona. Eu tenho que admitir que eu não entendi, poisvi
é perfeitamente executável por conta própria (minha$EDITOR
variável env também está definida comovi
), mas está funcionando e meu carma técnico não tem sido tão bom ultimamente, então talvez eu não deva questionar as divindades vão ...fonte
git config --global core.editor "/usr/bin/vim"
.git config --global color.editor "/usr/local/bin/vim"
que trabalhou para mim :), graçasO seguinte comando
corrige isso.
[editar]
Agora vejo que alguém já postou nos comentários. Espero que ainda seja útil para algumas pessoas cegas como eu.
fonte
Ao contrário das outras respostas aqui até agora, para mim, usando o caminho absoluto para vi e definindo o git
core.editor
não foram suficientes para resolver o problema. (Esses já estavam no lugar.)Na minha situação, o problema foi resolvido adicionando a
-f
flag ao comando vi:Depois que essa
-f
opção estiver em vigor, eu posso usá-lagit rebase -i
e, quando eu salvar e sair da lista de confirmação, a rebase continuará como deveria, em vez de fornecer o erro "não foi possível executar o editor".A página de manual do vim diz em relação à opção
-f
,Bem, eu não estou usando uma versão GUI, que eu conheço. Estou executando
git
na linha de comando bash em uma janela de terminal no masOS Sierra 10.12.6. Mas, comogit rebase -i
aguarda a conclusão da sessão de edição, acho que é por isso que a-f
opção é necessária aqui. Talvez o vim (sem-f
) tente se soltar do shell por algum motivo que não consegui descobrir.fonte
Eu tive esse problema e foi causado por alguma parte do plug-in vcscommand para vim. Iniciar o vim com qualquer um destes comandos resultou no código de saída 1 ("erro"):
vi
vim
Mas isso me deu o código de saída 0 ("sucesso"):
/usr/bin/vi
/usr/bin/vim
vi -u NONE
vim -u NONE
Consegui rastreá-lo de volta para o plug-in específico, desativando os
~/.vimrc
arquivos~/.vim
renomeando-os e executando-osvi -c q ; echo $?
para executar rapidamente o vim e imprimir o código de saída.fonte
Para mim, foi um problema com o meu .vimrc. Renomear temporariamente esse arquivo o corrigiu. Seguido por depuração do meu .vimrc. Isso é muito semelhante à experiência de ignu.
fonte
Se você quiser, por qualquer motivo, usar sublime, poderá fazer algo como o seguinte no seu arquivo de configuração global:
fonte
Levei um tempo para localizar meu problema em um dos meus plugins.
(especificamente, era https://github.com/ervandew/supertab )
Eu acho que essa é a desvantagem de atualizar automaticamente todos os meus plugins.
Portanto, o melhor conselho é desativar a metade do seu vimrc e plugins. Se isso não ajudar, o problema está na sua outra metade.
fonte
Outra opção é usar o
nano
editor.$ whereis nano
$ git config --global core.editor path/to/nano
Corrige isso.
fonte
Eu estava tentando esmagar confirmações, como mostrado aqui https://www.youtube.com/watch?v=V5KrD7CmO4o . Meu editor git (notepad ++) foi aberto na etapa de rebase. Mas, na etapa de alteração de mensagem de confirmação, vi o problema "Não foi possível executar o editor". Provavelmente aconteceu porque as configurações do editor git estavam erradas e também porque instalei o bloco de notas ++ em um local não padrão no meu sistema Windows. Ou seja, 'git config core.editor' me deu
notepad++ -multilnst- nosession
.Para corrigir o problema, forneça o caminho completo como este:
Consulte: https://www.youtube.com/watch?v=YLxdkcT6H4g
fonte
Você tem certeza de que / usr / bin / vim estava em 1.7.3? Eu tive o mesmo problema porque tinha o plug-in de backup instalado, que é suportado apenas na 1.7.3 e por alguma razão / usr / bin / vim foi subitamente rebaixado para 1.7.2, talvez por causa de uma grande atualização do XCode. ..
fonte
Eu também tive esse problema quando já tinha o vim aberto para uma nova recuperação em outro terminal. Eu havia iniciado o rebase, fui interrompido e, quando voltei, tentei novamente do zero no outro terminal, sem perceber que estava no meio do mesmo rebase em outro lugar. Terminar a sessão de rebase do vim no outro terminal funcionou bem.
fonte
Curiosamente, apenas tentar novamente funcionou para mim.
Minhas variáveis core.editor e $ EDITOR não estão definidas.
fonte
Para mim, usando o Windows: feche o terminal atual e abra outro (win + R, digite 'cmd' e depois 'enter') e, de repente, ele funciona.
fonte
Solução VS Code:
git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"
fonte