El editor de vi es confuso si no estás acostumbrado. Se necesita un apretón de manos secreto para escapar de esta aplicación si te has tropezado con ella. He aquí cómo salir de vi o vim en Linux, macOS, o cualquier otro sistema tipo Unix.
La respuesta rápida
En primer lugar, pulsa la tecla Esc varias veces. Esto asegurará que vi está fuera del modo Insertar y en modo Comando.
Segundo, escribe :q! y pulsa Intro. Esto le dice a vi que salga sin guardar ningún cambio. Si deseas guardar los cambios, escribe :wq en su lugar.
Si deseas aprender la línea de comandos de Linux, necesitarás saber mucho más que eso. Sigue leyendo y te mostraremos cómo funciona vi. Vi es una herramienta importante y poderosa y la curva de aprendizaje vale la pena.
Vi, el editor omnipresente
Porque Vi está en todas partes, las posibilidades son que te encuentres con él. Incluso puedes encontrarte dentro de vi por accidente. Tal vez alguien te pida que mires su ordenador Linux por ellos. Se emite un comando como crontab -e , y vi aparece. Sorpresa, alguien ha configurado el editor por defecto para que crontab sea vi.
Quizás estás administrando un sistema en el que vi es el único editor, o el único que funcionará a través de una sesión SSH remota, y necesitas editar el archivo.bashrc de un usuario.
El comando para iniciar vi y abrir un archivo es directo. Escribe vi, un espacio y, a continuación, el nombre del archivo. Pulsa Intro. El programa que se lanza puede ser vi o vim, una ‘vi mejorada’. Depende de tu distribución de Linux, por ejemplo, Ubuntu usa vim . Todas las instrucciones de este artículo se aplican igualmente a vim.
La diferencia inmediatamente perceptible entre vi y otros editores es que cuando se inicia vi no puedes empezar a escribir texto. Eso es porque vi es un editor modal. La edición se realiza en un modo, el modo Insertar, y la emisión de comandos se realiza en el modo Comando. Vi se inicia en el modo Comando.
Si no estás familiarizado con el concepto del modo Insertar y modo Comando, puede resultar desconcertante. Muchos de los comandos que puedes emitir en el modo Comando afectan al archivo que estás escribiendo.
Si estás en modo Comando pero estás intentando por error escribir texto en tu archivo, no va a terminar bien. Algunas de las pulsaciones de teclas que se producen se reconocerán como comandos. Estos comandos pueden borrar o dividir líneas, mover el cursor o borrar texto.
Y, no importa lo que escribas, no puedes encontrar una forma de salir del editor. Mientras tanto, tu archivo está bastante destrozado y los pitidos aparentemente aleatorios te están volviendo loco.
Modo de comando y modo de inserción
Necesitas cambiar vi al modo apropiado para lo que estás tratando de lograr.
El modo de comando es el modo predeterminado cuando se inicia vi. A menos que sepas que no es así, empezarás a escribir a máquina. Si presionas la tecla ‘i’, o cualquiera de las otras 10 teclas que invocan el modo Insertar (a, A, c, C, I, o, O, R, s, y S), verás de repente lo que estás escribiendo. Ahora estás en modo Insertar.
Esto puede parecer un progreso hasta que aprietes una de las teclas de flechas. Si lo haces, A, B, C o D aparecerán como la única letra en una nueva línea en blanco. En la parte superior del archivo.
Está bien, te cubriremos las espaldas. Esto es sorprendentemente fácil cuando sabes cómo hacerlo. Recuerda estas dos pulsaciones de teclas: Esc te lleva al modo Comando y «i» te lleva al modo Insertar.
Necesitas estar en modo Comando, e introducir el comando correcto para salir del editor.
Del modo de comando a la seguridad
Para entrar en el modo de Comando, presiona la tecla Esc. No pasará nada visible. Pégale un par de veces más. Si escuchas un pitido cuando presionas la tecla Escape, entonces estás en el modo de Comando. El pitido te dice «Deja de presionar Esc, ya estás en modo Comando». Si oyes un pitido cuando tocas Esc, estamos bien.
Escribe dos puntos, la letra «q» y un signo de exclamación, sin espacios. Estos tres caracteres deben aparecer en el extremo izquierdo de la línea inferior del terminal. Si no lo hacen, presione Esc hasta que escuches un pitido y vuelve a intentarlo. Presiona la tecla Enter cuando puedas verlos:
En este comando, «q» es una abreviatura. El signo de exclamación añade énfasis, por lo que es como si gritaras «¡Salir!» Eso podría hacerte sentir un poco mejor.
El signo de exclamación también indica a vi que no guarde ninguno de los cambios que hayas realizado en el archivo. Si has estado metiendo la pata en la vi y no sabes lo que estás haciendo, probablemente quieras evitar el caos que has causado.
Una vez que vuelvas a la línea de comandos, es posible que desees volver a comprobar que el archivo no ha sido alterado. Puedes hacerlo con el siguiente comando:
Al salir de vi, si ves un mensaje que dice «no escribir desde el último cambio», significa que te has perdido el signo de exclamación del comando. Para evitar perder los cambios que desees mantener, vi te está dando la oportunidad de guardarlos. Simplemente vuelve a emitir el comando :q! con el signo de exclamación en su lugar para salir de vi y abandonar cualquier cambio.
Si estás seguro, guarda tus cambios
Si está satisfecho con los cambios que has realizado en tu archivo, puedes salir y guardar los cambios usando el comando :wq (escribir y salir). Asegúrate de que estás completamente satisfecho de que deseas que tus ediciones de pantalla se escriban en el archivo antes de continuar.
Escribe dos puntos, la letra w (escribir) y la letra q (salir). Presiona la tecla Enter cuando puedas verlos en la parte inferior izquierda del terminal:
La curva de aprendizaje vale la pena
Usar vi es como usar un piano. No puedes simplemente sentarte y usarlo; tienes que ponerte a practicar. Sentarse y tratar de aprender sobre la marcha cuando la presión está sobre ti para que edites algo no es la manera de hacerlo. Tiene tanto sentido como sentarse al piano por primera vez justo cuando se levanta el telón para el concierto inaugural.
Gran parte de la potencia de vi proviene de sus numerosas combinaciones de teclas, cada una de las cuales realiza una tarea de edición común. Eso es genial, pero no puedes beneficiarte de ellos hasta que los hayas memorizado, los hayas practicado y sean parte de tu memoria muscular.
¿Tienes alguna pregunta o problema relacionado con el tema del artículo? Queremos ayudarte.
Deja un comentario con tu problema o pregunta. Leemos y respondemos todos los comentarios, aunque a veces podamos tardar un poco debido al volumen que recibimos. Además, si tu consulta inspira la escritura de un artículo, te notificaremos por email cuando lo publiquemos.
*Moderamos los comentarios para evitar spam.
¡Gracias por enriquecer nuestra comunidad con tu participación!