GNU/Linux >> Tutoriales Linux >  >> Linux

Trabajar con el editor Vim (Editor de texto)

Si está trabajando en el modo de línea de comandos, es posible que desee familiarizarse con al menos un editor de texto que funcione en la consola de Linux. El editor vi es el editor original utilizado en los sistemas Unix. Utiliza el modo de gráficos de la consola para emular una ventana de edición de texto, lo que le permite ver las líneas de su archivo, moverse dentro del archivo e insertar, editar y reemplazar texto.

Si bien es posiblemente el editor más complicado del mundo (al menos en opinión de quienes lo odian), ofrece muchas características que lo han convertido en un elemento básico para los administradores de Unix durante décadas. Cuando el Proyecto GNU transfirió el editor vi al mundo del código abierto, decidieron hacerle algunas mejoras. Debido a que ya no se parecía al editor vi original que se encuentra en el mundo de Unix, los desarrolladores también le cambiaron el nombre a vi mejorado o vim. Para facilitar la vida del administrador del sistema, casi todas las distribuciones de Linux crean un alias llamado vi que apunta al programa vim:

# alias vi='vim'

Conceptos básicos de vim

El editor vim trabaja con datos en un búfer de memoria. Para iniciar el editor vim, simplemente escriba el archivo que desea editar:comando vim (o vi si hay un alias) y el nombre del archivo

# vi /etc/fstab

Si inicia vim sin un nombre de archivo, o si el archivo no existe, vim abre una nueva área de búfer para editar. Si especifica un archivo existente en la línea de comando, vim leerá todo el contenido del archivo en un área de búfer, donde estará listo para editar, como se muestra a continuación:

El editor vim detecta el tipo de terminal para la sesión y usa un modo de pantalla completa para usar toda la ventana de la consola para el área del editor. La ventana de edición inicial de vim muestra el contenido del archivo (si lo hay) junto con una línea de mensaje en la parte inferior de la ventana. Si el contenido del archivo no ocupa toda la pantalla, vim coloca una tilde en las líneas que no forman parte del archivo.

La línea de mensaje en la parte inferior indica información sobre el archivo editado, según el estado del archivo y la configuración predeterminada en su instalación de vim. Si el archivo es nuevo, aparece el mensaje [Nuevo archivo].

El editor vim tiene dos modos de operación:

  • Modo normal
  • Modo de inserción

Cuando abre un archivo por primera vez (o inicia un nuevo archivo) para editarlo, el editor vim ingresa al modo normal. En modo normal, el editor vim interpreta las pulsaciones de teclas como comandos.

En el modo de inserción, vim inserta cada tecla que escribe en la ubicación actual del cursor en el búfer. Para ingresar al modo de inserción, presione la tecla i. Para salir del modo de inserción y volver al modo normal, presione la tecla Escape en el teclado.

En el modo normal, puede mover el cursor alrededor del área de texto usando las teclas de flecha (siempre que vim detecte correctamente su tipo de terminal). Los comandos vim incluyen comandos para mover el cursor:

  • h para mover un carácter a la izquierda
  • j para bajar una línea (la siguiente línea en el texto)
  • k para subir una línea (la línea anterior en el texto)
  • l para mover un carácter a la derecha

Moverse línea por línea dentro de archivos de texto grandes puede volverse tedioso. Afortunadamente, vim proporciona algunos comandos para ayudar a acelerar las cosas:

  • AvPág (o Ctrl+F ) para avanzar una pantalla de datos
  • RePág (o Ctrl+B ) para retroceder una pantalla de datos
  • G para ir a la última línea del búfer
  • numero G para pasar al número de línea num en el búfer
  • gg para pasar a la primera línea en el búfer

El editor vim tiene una característica especial dentro del modo normal llamado modo de línea de comandos. El modo de línea de comandos proporciona una línea de comandos interactiva donde puede ingresar comandos adicionales para controlar las acciones en vim. Para acceder al modo de línea de comandos, presione la tecla de dos puntos en el modo normal. El cursor se mueve a la línea del mensaje y aparecen dos puntos, esperando que ingrese un comando. Dentro del modo de línea de comandos hay varios comandos para guardar el búfer en el archivo y salir de vim:

  • q para salir si no se han realizado cambios en los datos del búfer
  • q! para salir y descartar cualquier cambio realizado en los datos del búfer
  • w nombre de archivo para guardar el archivo con un nombre de archivo diferente
  • wq para guardar los datos del búfer en el archivo y salir

Editar datos

Mientras está en el modo de inserción, puede insertar datos en el búfer; sin embargo, a veces necesita agregar o eliminar datos después de haberlos ingresado en el búfer. Mientras está en modo normal, el editor vim proporciona varios comandos para editar los datos en el búfer. La siguiente tabla enumera algunos comandos de edición comunes para vim.

Comando Descripción
x Eliminar el carácter en la posición actual del cursor.
dd Eliminar la línea en la posición actual del cursor.
dw Eliminar la palabra en la posición actual del cursor.
d$ Eliminar hasta el final de la línea desde la posición actual del cursor.
J Eliminar el salto de línea al final de la línea en la posición actual del cursor (une líneas).
u Deshacer el comando de edición anterior.
a Anexar datos después de la posición actual del cursor.
A Anexar datos al final de la línea en la posición actual del cursor.
carácter r Reemplace un solo carácter en la posición actual del cursor con char.
Texto R Sobrescriba los datos en la posición actual del cursor con texto, hasta que presione Escape.

Algunos de los comandos de edición también le permiten usar un modificador numérico para indicar cuántas veces ejecutar el comando. Por ejemplo, el comando 2x elimina dos caracteres, comenzando desde la posición actual del cursor, y el comando 5dd elimina cinco líneas, comenzando en la línea desde la posición actual del cursor.

Una característica estándar de los editores modernos es la capacidad de cortar o copiar datos y luego pegarlos en otra parte del documento. El editor vim proporciona una manera de hacer esto. Cortar y pegar es relativamente fácil. Ya ha visto los comandos que pueden eliminar datos del búfer. Sin embargo, cuando vim elimina datos, en realidad los mantiene almacenados en un registro separado. Puede recuperar esos datos usando el comando p.

Por ejemplo, puede usar el comando dd para eliminar una línea de texto, luego mover el cursor a la ubicación en el búfer donde desea colocarlo y luego usar el comando p. El comando p inserta el texto después de la línea en la posición actual del cursor. Puede hacer esto con cualquier comando que elimine texto. Copiar texto es un poco más complicado. El comando de copia en vim es y (para tirar). Puede usar el mismo segundo carácter con y que con el comando d( yw para jalar una palabra, y$ para tirar hasta el final de una línea). Después de tirar del texto, mueva el cursor a la ubicación donde desea colocar el texto y use el comando p. El texto extraído ahora aparece en esa ubicación.

Tirar es complicado porque no puedes ver lo que sucedió porque no estás afectando el texto que tiras. Nunca se sabe con certeza lo que arrancó hasta que lo pega en alguna parte. Pero hay otra característica en vim que te ayuda a tirar. El modo visual resalta el texto a medida que mueve el cursor. Utiliza el modo visual para seleccionar texto para tirar para pegar. Para ingresar al modo visual, mueva el cursor a la ubicación donde desea comenzar a tirar y presione v. Notará que el texto en la posición del cursor ahora está resaltado. A continuación, mueva el cursor para cubrir el texto que desea extraer (incluso puede mover las líneas hacia abajo para extraer más de una línea de texto). A medida que mueve el cursor, vim resalta el texto en el área de arrastre. Una vez que haya cubierto el texto que desea copiar, presione la tecla y para activar el comando yank. Ahora que tienes el texto en el registro, simplemente mueve el cursor a donde quieras pegarlo y usa la p comando.

Buscar y sustituir

Uno puede buscar fácilmente datos en el búfer usando el comando de búsqueda vim. Para ingresar una cadena de búsqueda, presione la tecla de barra diagonal (/). El cursor va a la línea del mensaje y vim muestra una barra diagonal. Ingrese el texto que desea buscar y presione la tecla Enter. El editor vim responde con una de estas tres acciones:

  • Si la palabra aparece después de la ubicación actual del cursor, salta a la primera ubicación donde aparece el texto.
  • Si la palabra no aparece después de la ubicación actual del cursor, rodea el final del archivo hasta la primera ubicación en el archivo donde aparece el texto (y lo indica con un mensaje). Produce un mensaje de error que indica que el texto no se encontró en el archivo.
  • Para continuar buscando la misma palabra, presione el carácter de barra diagonal y luego presione la tecla Intro, o puede usar la tecla n, para continuar.

El comando de sustitución le permite reemplazar (sustituir) rápidamente una palabra por otra en el texto. Para llegar al comando sustituto, debe estar en modo de línea de comando. El formato para el comando sustituto es:

:s/old/new/

El editor vim salta a la primera aparición del texto antiguo y lo reemplaza con el texto nuevo. Hay algunas modificaciones que puede realizar en el comando de sustitución para sustituir más de una aparición del texto:

:s/old/new/g        ## to replace all occurrences of old in a line
:n,ms/old/new/g     ## to replace all occurrences of old between line numbers n and m
:%s/old/new/g       ## to replace all occurrences of old in the entire file
:%s/old/new/gc      ## to replace all occurrences of old in the entire file, but prompt for each occurrence


Linux
  1. Encienda su editor de texto de terminal Linux con ed

  2. Conceptos básicos de Linux:una guía para principiantes sobre la edición de texto con vim

  3. Guía del editor de texto ViM 101

  4. vim Tutorial con ejemplos de comandos

  5. Editor de texto Vem:un diseño de comando alternativo para Vim

Cómo instalar el editor de texto Vim en Debian 10

Cómo instalar el editor de texto Vim en CentOS 8

¿Cómo instalar el editor de texto VIM en Ubuntu?

Los 5 mejores editores de texto de Linux

¿Es posible editar un enlace simbólico con un editor de texto?

Editor de texto / registro con soporte de actualización automática