it-swarm-es.tech

¿Cómo salgo del editor 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.

3294
jclancy

Golpea el Esc tecla para entrar en "modo normal". Luego, puede escribir : para ingresar al "Modo de línea de comandos". Aparecerán dos puntos (:) en la parte inferior de la pantalla y podrá escribir uno de los siguientes comandos. Para ejecutar un comando, presione Enter llave.

  • :q para salir (abreviatura de :quit)
  • :q! para salir sin guardar (abreviatura de :quit!)
  • :wq para 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 para escribir y salir (similar a :wq, pero solo escribir si hay cambios)
  • :exit para escribir y salir (igual que :x)
  • :qa para salir de todo (abreviatura de :quitall)
  • :cq para salir sin guardar y hacer que Vim devuelva un error distinto de cero (es decir, salir con un error)

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

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

4468
dirvine

Antes de ingresar un comando, pulsa la tecla Esc tecla . Después de entrar, pulsa la tecla Return para confirmar.

Esc finaliza el comando actual y cambia Vim a modo normal . Ahora si presionas :, el : aparecerá en el bottom 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 ventana actual . Salga de Vim si esta es la última ventana. Esto falla cuando se han realizado cambios en el búfer actual .
  • :qa[ll] * Salga de todas las ventanas y Vim, a menos que haya algunos buffers que hayan sido cambiados.

Prompt-quit (pregunta si hay cambios no guardados)

  • :conf[irm] q[uit] * Salga, pero dé aviso cuando haya algunos búferes que se hayan cambiado.
  • :conf[irm] xa[ll] * Escriba todos los buffers modificados y salga de Vim. Muestra un aviso cuando no se pueden escribir algunos buffers.

Escribir (guardar) cambios y salir:

  • :wq Escribe el archivo actual (incluso si no se modificó) y cierra. 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 ). Escriba solo el archivo si se cambió y salga, :xa[ll] * para todas las ventanas.

Deseche los cambios y salga:

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

Presione Return para confirmar el comando.

Esta respuesta no hace referencia a todos los comandos y argumentos de Vim write y quit. De hecho, se mencionan en la documentación de Vim .

Vim tiene una amplia ayuda incorporada, tipo Esc:helpReturn Para abrirlo.

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

159
Nick Volynkin

Las imágenes valen un millar de comandos y opciones de Unix:

 Enter image description here

Traigo esto a mis alumnos cada semestre y parecen captar vi después.

vi es una máquina de estados finitos con solo tres estados.

Al comenzar, vi entra en el modo COMANDO, donde puede escribir comandos cortos y con pocos caracteres, a ciegas . Sabes lo que estas haciendo; esto no es para los aficionados.

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

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

Ahora, respondiendo a la pregunta: salir.

Puedes salir de vi desde el modo EX:

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

w y x aceptan un parámetro de nombre de archivo. Si comenzó vi con un nombre de archivo, no es necesario que lo vuelva a proporcionar aquí.

Por fin, lo más importante: ¿cómo puedes 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 de COMANDO, presionas dos puntos, :, y dos puntos aparecerán en la línea inferior, donde puedes escribir los comandos anteriores.

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

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

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

135
Gergely

Si desea 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 puedo molestarme en Pinky shift para !. A menudo canalizo cosas a Vim que no necesitan ser guardadas en un archivo. También tenemos un contenedor SVN impar en el trabajo que se debe salir con un valor distinto de cero para abortar un registro.

71
Sue Spence

Esto es para el peor de los casos de salir de Vim si solo quiere salir, no tiene idea de lo que ha hecho y no le importa lo que sucederá con los archivos que abrió.

Ctrl-cEnterEnterviname__EnterCtrl-\Ctrl-n:qa!Enter

Esto debería sacarte la mayor parte del tiempo.

Algunos casos interesantes donde necesitas algo como esto:

  • iname__Ctrl-ovg(ingresa en el modo de inserción, luego en el modo visual y luego en el modo de operador pendiente)

  • Qappendname__Enter

  • iname__Ctrl-ogQname__Ctrl-r=Ctrl-k (Gracias a Porges por este caso)

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


Edit: Esta respuesta fue corregida debido a los casos anteriores. Solía ​​ser:

EscEscEsc:qa!Enter

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

viname__Enter:qa!Enter

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

viname__EnterEscEscEsc:qa!Enter

40
Heikki Naski

En caso de que necesite salir de Vim en modo fácil (mientras usa la opción -y), puede ingresar al modo Vim normal presionando Ctrl + L y luego funcionará cualquiera de las opciones de salida normales.

36
wsams

Vim tiene tres modos de operación: modo de entrada, modo de comando y modo Ex.

Modo de entrada - todo lo que escribe, todas las pulsaciones de tecla se repiten en la pantalla.

Modo de comando o Modo de escape: todo lo que escribe en este modo se interpreta como un comando.

Modo Ex - este es otro editor, ej. Es un editor de línea. Funciona por línea o basado en un rango de líneas. En este modo, un : Aparece en la parte inferior de la pantalla. Este es el ex editor.

Para salir de Vim, puede salir mientras está en el modo ex o en el modo de comando. No puede salir de Vim cuando está en modo de entrada.

Saliendo del modo ex

  1. Debes estar seguro de que estás en el modo Comando. Para hacer eso, simplemente presione Esc llave.

  2. Ir al modo ex presionando la tecla : llave

  3. Use cualquiera de las siguientes combinaciones en modo ex para salir:

    :q - quit :q! - quit sin guardar :wq - save & quit o write & quit :wq! - igual que wq, pero forzar escritura en caso de que los permisos del archivo sean de lectura :x - write & quit :qa - quit all. Es útil cuando se abren múltiples archivos como: vim abc.txt xyz.txt

Saliendo del modo de comando

  1. Presiona la tecla escape. Probablemente ya haya hecho esto si está en modo de comando.

  2. Presione ZZ mayúscula (shift zz) - guardar y salir

  3. Presione ZQ mayúscula (shift zq) - salir sin guardar.

27
tovishalck

Después de golpear ESC (o cmd + C en mi computadora) debes golpear : para que aparezca el comando Preguntar. Luego, puede ingresar quit.

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

25
deleteMe

En realidad, es increíblemente fácil salir de vim.

Prensa Escape, dé la vuelta dos veces, patee al gato, prepare la taza de té perfecta, ejecute un cuatro minutos , escale siempre, haga el Kessel Run en menos de 12 parsecs , rescata el Kobayashi Mar , reclama el trono de hierro , alcanza paz mundial , presiona :qEnter

18
Caltor

Conseguí a Vim instalando un cliente Git en Windows. :q no saldría de Vim por mí. :exit hizo sin embargo ...

16

Me gustaría agregar mis dos centavos en esto. La pregunta ha sido formulada aquí .

El comando q con número cierra la división dada en esa posición.

:q<split position> o :<split position>q cerrará la división en esa posición.

Digamos que el diseño de su ventana Vim es el siguiente:

-------------------------------------------------
|               |               |               |
-------------------------------------------------
|               |               |               |
|               |               |               |
|    Split 1    |    Split 2    |     Split 3   |
|               |               |               |
-------------------------------------------------

Si ejecuta el comando q1, cerrará la primera división. q2 cerrará la segunda división y viceversa.

El orden de la posición de división en el comando de salida no importa. :2q o :q2 cerrará la segunda división.

Si la posición de división que pasa al comando es mayor que el número de divisiones actuales, simplemente cerrará la última división.

Por ejemplo, si ejecuta el q100 en la configuración de la ventana anterior donde solo hay tres divisiones, cerrará la última división (División 3).

5
Subash

Aquí es cómo puede salir Vim. Presiona Ctrl y 'Z' luego 'X' y 'C'.

Ctrl -> +Z -> +X -> +C
5
Alimov Shohrukh