Vim para Windows: ¿qué escribo para guardar y salir de un archivo?

265

Utilizando Windows XP, escribí accidentalmente en git commit -alugar de git commit -am "My commit message", y ahora estoy viendo mi mensaje CMD lleno con la versión del archivo de mi mensaje de confirmación ("Ingrese el mensaje de confirmación para su ..."). Agregué mi mensaje a la parte superior, pero ahora no puedo entender cómo guardar y salir. Traté de presionar Ctrl+ W+ Q, pero no hace nada, pero agrego ^dónde está el cursor.

También intenté Escprimero, y luego Ctrl+ W+ Q, pero dice No write since last change (add ! to override).

orokusaki
fuente
13
Oh, es un alivio que no soy el único que se quedó atrapado en eso.
Tomáš Zato - Restablece a Monica el
1
Posible duplicado de ¿Cómo salir del editor Vim?
Peter Mortensen

Respuestas:

515

Presione ESCpara asegurarse de que está fuera del modo de edición y luego escriba:

:wq
nunopolonia
fuente
66
@ User789 para algo específico o en general? Si está buscando comandos genéricos, pruebe este sitio web: viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
nunopolonia
1
¡Realmente podrían haber agregado esto como un comentario para que miles de nosotros no fuimos enviados fuera de la terminal por tres personajes! Pero creo que la nunopolonia se alegra de que no lo hayan hecho =)
Casey Murray
Tenga en cuenta que si tiene varias distribuciones de teclado y olvida que no está en la distribución de teclado en inglés , puede quedarse atascado y pensar que esto no funciona. Espero haber ayudado a alguien a no perder el tiempo como lo hice.
Djuka
3
Gracias a Dios que encontré esto. En serio, ¿no habría dolido agregar esa única dirección a la pantalla de ingreso de mensaje de confirmación?
voidzero
52

En lugar de decirle cómo podría ejecutar un determinado comando ( Esc:wq), puedo proporcionarle dos enlaces que pueden ayudarlo con VIM:

Sin embargo, la mejor manera de aprender Vim no es solo usarlo para los compromisos de Git, sino también como un editor regular para su trabajo diario.

Si no va a cambiar a Vim, no tiene sentido tener en cuenta sus comandos. En ese caso, vaya y configure su editor favorito para usar con Git .

Eckes
fuente
+1 para esta respuesta realmente útil. Prefiero Emacs y gracias a su enlace no tengo que buscar en Google una solución.
Keks Dose
+1 para la explicación sobre VIM y cómo configurar mi propio editor
EdmundYeung99
Enseñar a pescar es mejor que darle un pescado para comer. Gracias.
matriz
La mejor manera de responder la pregunta que debería haberse hecho. Thx
moemen.ahmed
El enlace HTML está roto.
Naxos84
35

Escpara asegurarse de salir del modo de inserción, luego :wq(dos puntos wq) o ZZ(shift-Z shift-Z).

efímero
fuente
2
¿Alguien más se dio cuenta de lo fácil que Shift-Z Shift-Zes esto ? Y, por cierto, ¿algo se vuelve menos intuitivo? ¡Oh, sí, soy ciudadano de Windows!
Ifedi Okonkwo
30
  • Presione io apara ingresar al modo de inserción y escriba el mensaje de su elección

  • Presione ESCvarias veces para salir del modo de inserción, o de cualquier otro modo que pueda haber encontrado por accidente

    • para guardar :wq, :xoZZ

    • salir sin guardar, :q!oZQ

Para volver a cargar un archivo y deshacer todos los cambios que ha realizado ...:

Presione varias veces ESCy luego entre :e!.

sjas
fuente
10

Una forma más rápida de

  • Salvar
  • y renunciar

sería

:x

Si ha abierto varios archivos, es posible que deba hacer un

:xa
Fabian Schuh
fuente
Tenga en cuenta que: x solo escribirá archivos que hayan cambiado.
Simon Richter
5

:q! forzará una salida incondicional sin guardar

Marc B
fuente
66
Esto debería ser un comentario. Es muy relevante pero no responde la pregunta. Por el contrario, habla de un comando que hace lo contrario de lo que se solicita. Relevante, pero no una respuesta
runa FS
0

Utilizar:

:wq!

El signo de exclamación se utiliza para anular el modo de solo lectura.

Hedego
fuente