A menudo no tengo que modificar varios mensajes de confirmación, pero ha sucedido una o dos veces y nunca recuerdo haber visto esto. Espero que alguien más lo haya hecho. Cuando yo git rebase -i HEAD~7
, la lista esperada se abre en vi exactamente como se esperaba. Cambio los pick
valores a edit
donde sea apropiado y luego :wq
.
No se pudo ejecutar el editor
La core.editor
configuración en mi global .gitconfig
es vi
(también lo he cambiado a vim
un movimiento desesperado). Intenté usarlo mate
, pero eso ni siquiera abrió la lista inicial correctamente, así que lo cambié de nuevo.
Estoy usando v1.7.3 y agradecería cualquier sugerencia.
git_editor "$TODO" || die_abort "Could not execute editor"
. Como usted dice que el editor realmente aparece, eso significa que está devolviendo un código de salida distinto de cero. ¿Puedes replicar ese comportamiento usándolo normalmente en la línea de comandos?git config --global core.editor "/usr/local/bin/vim"
me lo arregló.Respuestas:
Ayer fue solo uno de esos días. En una alondra, decidí establecer la ruta completa a vi (por ejemplo
/usr/bin/vi
) en lugar de solo el ejecutable. Ahora todo funciona. Tengo que admitir que no lo entiendo, ya quevi
es perfectamente ejecutable por sí solo (mi$EDITOR
variable env también está configurada envi
), pero funciona y mi karma técnico no ha sido tan bueno últimamente, así que tal vez no debería cuestionar las deidades ...fuente
git config --global core.editor "/usr/bin/vim"
.git config --global color.editor "/usr/local/bin/vim"
funcionó para mí :), graciasEl siguiente comando
lo arregla
[editar]
Ahora veo que alguien ya lo publicó en los comentarios. Espero que siga siendo útil para algunas personas ciegas como yo.
fuente
A diferencia de las otras respuestas aquí hasta ahora, para mí el uso de la ruta absoluta a vi y la configuración de git
core.editor
no fueron suficientes para resolver el problema. (Esos ya estaban en su lugar).En mi situación, el problema se resolvió agregando la
-f
bandera al comando vi:Una vez que esta
-f
opción está en su lugar, puedo usargit rebase -i
, y cuando guardo y salgo de la lista de confirmación, la nueva versión continúa como debería en lugar de dar el error "no se pudo ejecutar el editor".La página de manual de vim dice con respecto a la opción
-f
,Bueno, no estoy usando una versión GUI, que yo sepa. Estoy corriendo
git
en la línea de comando bash en una ventana de terminal en masOS Sierra 10.12.6. Pero comogit rebase -i
espera a que termine la sesión de edición, supongo que es por eso que la-f
opción es necesaria aquí. Tal vez vim (sin-f
) intenta bifurcarse / separarse del shell por alguna razón que no he podido entender.fuente
Tuve este problema y fue causado por alguna parte del complemento vcscommand para vim. El inicio de vim con cualquiera de estos comandos dio como resultado el código de salida 1 ("error"):
vi
vim
Pero estos me dieron el código de salida 0 ("éxito"):
/usr/bin/vi
/usr/bin/vim
vi -u NONE
vim -u NONE
Pude rastrearlo hasta el complemento específico al deshabilitar
~/.vimrc
y a los archivos~/.vim
renombrándolos y ejecutándolosvi -c q ; echo $?
para ejecutar rápidamente vim e imprimir el código de salida.fuente
Para mí, fue un problema con mi .vimrc. Cambiar el nombre de ese archivo temporalmente lo arregló. Seguido por la depuración de mi .vimrc. Esto es muy similar a la experiencia de ignu.
fuente
Si, por alguna razón, quisiera usar sublime, podría hacer algo como lo siguiente en su archivo de configuración global:
fuente
Solo me tomó un tiempo localizar mi problema en uno de mis complementos.
(específicamente, era https://github.com/ervandew/supertab )
Supongo que esa es la desventaja de actualizar automáticamente todos mis complementos.
Así que el mejor consejo, deshabilita la mitad de tu vimrc y complementos. Si eso no ayuda, el problema está en tu otra mitad.
fuente
Otra opción es usar el
nano
editor.$ whereis nano
$ git config --global core.editor path/to/nano
Lo arregla
fuente
Intenté aplastar las confirmaciones como se muestra aquí https://www.youtube.com/watch?v=V5KrD7CmO4o . Mi editor git (notepad ++) se abrió en el paso de rebase. Pero, en el paso de mensaje de confirmación de modificación, vi el problema "No se pudo ejecutar el editor". Probablemente sucedió porque la configuración del editor git era incorrecta y también porque instalé notepad ++ en una ubicación no estándar en mi sistema de Windows. Es decir, 'git config core.editor' me dio
notepad++ -multilnst- nosession
.Para solucionar el problema, proporcione una ruta completa como esta:
Consulte: https://www.youtube.com/watch?v=YLxdkcT6H4g
fuente
¿Estás seguro de que / usr / bin / vim estaba en 1.7.3? Tuve el mismo problema porque tenía instalado el complemento de copia de seguridad, que solo es compatible con 1.7.3 y, por alguna razón, / usr / bin / vim se redujo repentinamente a 1.7.2, tal vez debido a una actualización importante de XCode. ..
fuente
También tuve este problema cuando ya tenía vim abierto para un rebase en otra terminal. Había comenzado el rebase, me interrumpieron, y cuando regresé lo intenté nuevamente desde cero en la otra terminal, sin darme cuenta de que estaba en el medio del mismo rebase en otro lugar. Simplemente terminar la sesión de vim rebase en la otra terminal funcionó bien.
fuente
Por extraño que parezca, intentarlo de nuevo funcionó para mí.
Mis variables core.editor y $ EDITOR no están configuradas.
fuente
Para mí, usando Windows: cierre el terminal actual y abra otro (win + R, escriba 'cmd', luego 'enter'), y de repente funciona.
fuente
Solución VS Code:
git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"
fuente