Pregunta ¿Cómo salir del editor de Vim?


Estoy atascado y no puedo escapar. Dice:

"type :quit<Enter> to quit VIM"

Pero cuando escribo eso, simplemente aparece en el cuerpo del objeto.


2704
2017-08-06 12:25


origen


Respuestas:


Golpea el Esc tecla para ingresar al "modo Normal". Entonces puedes escribir : para ingresar al "modo de línea de comandos". A dos puntos (:) aparecerá en la parte inferior de la pantalla y puede escribir uno de los siguientes comandos. Para ejecutar un comando, presione Entrar llave.

  • :q  dejar de fumar (abreviatura de :quit)
  • :q! para salir sin guardar (abreviatura de :quit!)
  • :wq escribir y salir
  • :wq! para escribir y salir incluso si el archivo solo tiene permiso de lectura (si el archivo no tiene permiso de escritura: forzar escritura)
  • :x  escribir y salir (similar a :wq, pero solo escribe si hay cambios)
  • :exit escribir y salir (igual que :x)
  • :qa para dejarlo todo (abreviatura de :quitall)
  • :cq para salir sin guardar y hacer que Vim devuelva un error distinto de cero (es decir, salir con error)

También puede salir de Vim directamente del "Modo de comando" tecleando ZZ para guardar y salir (igual que :x) o ZQ simplemente dejar de fumar (lo mismo que :q!) (Tenga en cuenta que el caso es importante aquí. ZZ y zz no significan lo mismo.)

Vim tiene una gran ayuda, a la que se puede acceder con :help comando - donde puede encontrar respuestas a todas sus preguntas y un tutorial para principiantes.


3742
2017-08-06 12:46



Antes de ingresar un comando, golpea el Esc llave. Después de ingresarlo, presione el Regreso para confirmar.

Esc termina el comando actual y cambia a Vim a modo normal. Ahora si presiona :, el : aparecerá en el fondo de la pantalla Esto confirma que en realidad estás escribiendo un comando y no editando el archivo.

La mayoría de los comandos tienen abreviaturas, con la parte opcional entre corchetes: c[ommand].

Los comandos marcados con '*' son solo Vim (no implementados en Vi).

Safe-quit (falla si hay cambios no guardados):

  • :q[uit]  Salga de la corriente ventana. Salga de Vim si esta es la última ventana. Esto falla cuando se han realizado cambios en la corriente buffer.
  • :qa[ll]* Salga de todas las ventanas y Vim, a menos que haya algunos buffers que se hayan cambiado.

Salir rápido (pregunta si hay cambios no guardados)

  • :conf[irm] q[uit]* Salir, pero dar aviso cuando hay algunos búferes que se han cambiado.
  • :conf[irm] xa[ll]* Escriba todos los búferes modificados y salga de Vim. Muestra un mensaje cuando no se pueden escribir algunos buffers.

Escriba (guarde) los cambios y salga:

  • :wq Escriba el archivo actual (incluso si no se modificó) y salga. La escritura falla cuando el archivo es de solo lectura o el búfer no tiene un nombre. :wqa[ll]* para todas las ventanas.
  • :wq! Lo mismo, pero escribe incluso archivos de solo lectura. :wqa[ll]!* para todas las ventanas.
  • :x[it], ZZ(con detalles) Escribe solo el archivo si fue cambiado y renunciar, :xa[ll]* para todas las ventanas.

Descartar cambios y salir:

  • :q[uit]!  ZQ* Salir sin escribir, también cuando los búferes visibles tienen cambios. No sale cuando hay búferes ocultos cambiados.
  • :qa[ll]!*, :quita[ll][!]* Salir de Vim, todos los cambios en los búferes (incluido el oculto) se pierden.

prensa Regreso para confirmar el comando.

Esta respuesta no hace referencia a todos los comandos y argumentos de escritura y abandono de Vim. De hecho, se hace referencia en el Documentación Vim.

Vim tiene una amplia ayuda integrada, tipo Esc:helpRegreso Para abrirlo.

Esta respuesta fue inspirada por el otro, originalmente escrito por @dirvine y editado por otros usuarios de SO. He incluido más información de referencia de Vim, comentarios de SO y algunas otras fuentes. Las diferencias para Vi y Vim también se reflejan.


138
2018-06-08 13:34



Las imágenes valen mil comandos y opciones de Unix:

Enter image description here

Los dibujo a mis alumnos cada semestre y parecen captar vi después.

vi es un máquina de estados finitos con solo tres estados

Al iniciar, vi pasa al modo COMANDO, donde puede escribir comandos cortos, de pocos caracteres, a ciegas. Sabes lo que estas haciendo; esto no es para aficionados.

Cuando desee editar texto, debe ir al modo INSERT con un comando de un solo carácter:

  • i: vaya a INSERTAR en el lugar del cursor
  • I: ir al modo INSERT al principio de la línea
  • a: anexar después el cursor
  • A: añadir al final de la línea
  • o: abierto una nueva línea debajo de la línea actual
  • O: abierto una nueva línea en el lugar de la línea actual

Ahora, respondiendo la pregunta: saliendo.

Puede salir de vi desde el modo EX:

  • q: si no ha realizado ninguna modificación, o si la ha guardado de antemano
  • q !: ignora cualquier modificación y dejar
  • wq: guardar y salir
  • x: esto es igual a wq

w y x aceptar un parámetro de nombre de archivo. Si comenzó vi con un nombre de archivo, no necesita volver a hacerlo aquí.

Por último, lo más importante: ¿cómo se puede llegar al modo EX?

El modo EX es para comandos largos que puede ver escribiendo en la línea inferior de la pantalla. Desde el modo COMMAND, presionas dos puntos, :, y dos puntos aparecerán en la línea inferior, donde puede escribir los comandos anteriores.

Desde el modo INSERTAR, debe presionar ESC, es decir, el botón Escape, pasar al modo COMANDO, y luego: para pasar al modo EX.

Si no está seguro, presione ESC y eso lo llevará al modo comando.

Entonces, el método robusto es ESC -: - x-Enter que guarda su archivo y se cierra.


69
2018-05-26 12:24



Si quieres salir sin guardar en Vim y hacer que Vim devuelva un código de salida distinto de cero, puede usar :cq.

Uso esto todo el tiempo porque no me molesto en cambiar de meñique por !. A menudo canalizo cosas a Vim que no necesitan guardarse en un archivo. También tenemos un contenedor SVN impar en el trabajo que debe salir con un valor distinto de cero para abortar un check-in.


65
2018-01-28 10:59



Esto es para el peor de los escenarios de salir de Vim si solo quieres salir, no tienes idea de lo que has hecho y no te importa qué pasará con los archivos que abriste.

Ctrl-cEntrarEntrarviEntrarCtrl- \Ctrl-n:qa!Entrar

Esto debería sacarte la mayor parte del tiempo.

Algunos casos interesantes en los que necesitas algo como esto:

  • iCtrl-ovg (ingresa el modo insertar, luego el modo visual y luego el modo pendiente de operador)

  • QappendEntrar

  • iCtrl-ogQCtrl-r=Ctrl-k (gracias a los porges para este caso)

  • :set insertmode (este es un caso cuando Ctrl- \Ctrl-n lo regresa al modo normal)


Editar: esta respuesta se corrigió debido a los casos anteriores. Solía ​​ser:

EscEscEsc:qa!Entrar

Sin embargo, eso no funciona si ha ingresado al modo Ex. En ese caso, necesitarías hacer:

viEntrar:qa!Entrar

Así que un comando completo para "No quiero saber lo que hice y no quiero guardar nada, ¡solo quiero salir ahora!" sería

viEntrarEscEscEsc:qa!Entrar


37
2018-06-24 13:38



En caso de que necesite salir de Vim en modo fácil (durante el uso -y opción) puede ingresar al modo normal de Vim golpeando Ctrl + L y luego cualquiera de las opciones de salida normales funcionará.


32
2017-07-18 13:48



Después de golpear ESC (o cmd + do en mi computadora) debes golpear : para que aparezca el símbolo del sistema. Entonces, puedes ingresar quit.

Es posible que la máquina no le permita salir debido a que su información no se ha guardado. Si quieres salir de todos modos, ingresa ! directamente después de dejar de fumar (es decir :quit!)


23
2017-11-28 15:25