LFCS: Cómo instalar y usar vi/vim como editor de texto completo - Parte 2


Hace un par de meses, la Fundación Linux lanzó la certificación LFCS (Linux Foundation Certified Sysadmin) para ayudar a personas de todo el mundo a verificar que son capaces de realizar tareas de administración de sistema básicas a intermedias en sistemas Linux: soporte del sistema, primero resolución de problemas y mantenimiento a mano, además de toma de decisiones inteligente para saber cuándo es el momento de plantear problemas a los equipos de soporte superiores.

Por favor, mire el video a continuación que explica el Programa de Certificación de la Fundación Linux.

Esta publicación es la Parte 2 de una serie de 10 tutoriales, aquí, en esta parte, cubriremos las operaciones básicas de edición de archivos y los modos de comprensión en el editor vi/m, que se requieren para el examen de certificación LFCS.

Realización de operaciones básicas de edición de archivos con vi/m

Vi fue el primer editor de texto de pantalla completa escrito para Unix. Aunque fue pensado para ser pequeño y simple, puede ser un poco desafiante para las personas que utilizan exclusivamente editores de texto de GUI, como NotePad ++ o gedit, por nombrar algunos ejemplos.

Para usar Vi , primero debemos comprender los 3 modos en los que opera este poderoso programa, para poder comenzar a aprender más tarde acerca de sus poderosos procedimientos de edición de texto.

Tenga en cuenta que la mayoría de las distribuciones de Linux modernas incluyen una variante de vi conocida como vim ("Vi mejorado"), que admite más funciones que el vi original. Por esa razón, a lo largo de este tutorial usaremos vi y vim indistintamente.

Si su distribución no tiene vim instalado, puede instalarlo de la siguiente manera.

  1. Ubuntu y derivados : actualización de aptitude && aptitude install vim
  2. Distribuciones basadas en Red Hat : yum update && yum install vim
  3. openSUSE : zypper update && zypper install vim

¿Por qué debería querer aprender vi?

Hay al menos 2 buenas razones para aprender vi.

1. vi siempre está disponible (sin importar qué distribución esté usando) ya que es requerido por POSIX.

2. vi no consume una cantidad considerable de recursos del sistema y nos permite realizar cualquier tarea imaginable sin levantar los dedos del teclado.

Además, vi tiene un manual integrado muy extenso, que se puede ejecutar usando el comando : help inmediatamente después de que se inicia el programa. Este manual integrado contiene más información que la página de manual de vi/m.

Para iniciar vi, escriba vi en su símbolo del sistema.

Luego presione i para ingresar al modo Insertar y podrá comenzar a escribir. Otra forma de iniciar vi/m es.

# vi filename

Lo que abrirá un nuevo búfer (más sobre búferes más adelante) llamado nombre de archivo, que luego puede guardar en el disco.

1. En el modo de comando, vi permite al usuario navegar por el archivo e ingresar comandos vi, que son combinaciones breves que distinguen entre mayúsculas y minúsculas de una o más letras. Casi todos ellos pueden tener un prefijo con un número para repetir el comando esa cantidad de veces.

Por ejemplo, yy (o Y ) copia toda la línea actual, mientras que 3yy (o 3Y ) copia la línea actual completa junto con las dos líneas siguientes (3 líneas en total). Siempre podemos ingresar al modo de comando (independientemente del modo en el que estemos trabajando) presionando la tecla Esc . El hecho de que en el modo de comando las teclas del teclado se interpreten como comandos en lugar de texto tiende a confundir a los principiantes.

2. En el modo ex , podemos manipular archivos (incluido guardar un archivo actual y ejecutar programas externos). Para ingresar a este modo, debemos escribir dos puntos (: ) desde el modo de comando, seguido directamente por el nombre del comando ex-mode que debe usarse. Después de eso, vi vuelve automáticamente al modo de comando.

3. En el modo de inserción (la letra i se usa comúnmente para ingresar a este modo), simplemente ingresamos texto. La mayoría de las pulsaciones de teclas hacen que aparezca texto en la pantalla (una excepción importante es la tecla Esc , que sale del modo de inserción y vuelve al modo de comando).

La siguiente tabla muestra una lista de los comandos vi más utilizados. Los comandos de edición de archivos se pueden aplicar agregando el signo de exclamación al comando (por ejemplo,

Las siguientes opciones pueden resultar útiles mientras se ejecuta vim (debemos agregarlas en nuestro archivo ~/.vimrc ).

# echo set number >> ~/.vimrc
# echo syntax on >> ~/.vimrc
# echo set tabstop=4 >> ~/.vimrc
# echo set autoindent >> ~/.vimrc

  1. set number muestra los números de línea cuando vi abre un archivo existente o nuevo.
  2. syntax on activa el resaltado de sintaxis (para varias extensiones de archivo) para que el código y los archivos de configuración sean más legibles.
  3. set tabstop u003d 4 establece el tamaño de la pestaña en 4 espacios (el valor predeterminado es 8).
  4. set autoindent traslada la sangría anterior a la siguiente línea.

vi tiene la capacidad de mover el cursor a una determinada ubicación (en una sola línea o sobre un archivo completo) según las búsquedas. También puede realizar reemplazos de texto con o sin confirmación del usuario.

a). Búsqueda dentro de una línea: el comando f busca una línea y mueve el cursor a la siguiente aparición de un carácter especificado en la línea actual.

Por ejemplo, el comando fh movería el cursor a la siguiente instancia de la letra h dentro de la línea actual. Tenga en cuenta que ni la letra f ni el carácter que está buscando aparecerán en ninguna parte de la pantalla, pero el carácter se resaltará después de presionar Intro .

Por ejemplo, esto es lo que obtengo después de presionar f4 en el modo de comando.

B). Búsqueda de un archivo completo: utilice el comando /, seguido de la palabra o frase que desee buscar. Una búsqueda puede repetirse usando la cadena de búsqueda anterior con el comando n , o la siguiente (usando el comando N ). Este es el resultado de escribir /Jane en el modo de comando.

C). vi usa un comando (similar al de sed) para realizar operaciones de sustitución en un rango de líneas o un archivo completo. Para cambiar la palabra “ viejo ” a “ joven ” para todo el archivo, debemos ingresar el siguiente comando.

 :%s/old/young/g 

Aviso: los dos puntos al principio del comando.

Los dos puntos (: ) inician el comando ex, s en este caso (para sustitución), % es un atajo que significa desde la primera línea hasta la última línea (el rango también se puede especificar como n , m que significa "de la línea n a la línea m"), antiguo es el patrón de búsqueda, mientras que joven es el texto de reemplazo, y g indica que la sustitución debe realizarse en cada aparición de la cadena de búsqueda en el archivo.

Alternativamente, se puede agregar una c al final del comando para solicitar confirmación antes de realizar cualquier sustitución.

:%s/old/young/gc

Antes de reemplazar el texto original por el nuevo, vi/m nos presentará el siguiente mensaje.

  1. y : realice la sustitución (sí)
  2. n : omita esta aparición y vaya a la siguiente (no)
  3. a : realice la sustitución en esta y todas las instancias posteriores del patrón.
  4. q o Esc : dejar de sustituir.
  5. l ( L minúscula ): realice esta sustitución y salga (último).
  6. Ctrl-e , Ctrl-y : desplácese hacia abajo y hacia arriba, respectivamente, para ver el contexto de la sustitución propuesta.

Escriba vim archivo1 archivo2 archivo3 en nuestro símbolo del sistema.

# vim file1 file2 file3

Primero, vim abrirá archivo1 . Para cambiar al siguiente archivo ( archivo2 ), necesitamos usar el comando : n . Cuando queremos volver al archivo anterior, : N hará el trabajo.

Para cambiar de archivo1 a archivo3 .

a). El comando : buffers mostrará una lista del archivo que se está editando actualmente.

:buffers

B). El comando : buffer 3 (sin las s al final) abrirá el archivo3 para editarlo.

En la imagen de arriba, un signo de almohadilla ( # ) indica que el archivo está actualmente abierto pero en segundo plano, mientras que % a marca el archivo que se está editando actualmente. Por otro lado, un espacio en blanco después del número de archivo (3 en el ejemplo anterior) indica que el archivo aún no se ha abierto.

Para copiar un par de líneas consecutivas (digamos 4 , por ejemplo) en un búfer temporal llamado a (no asociado con un archivo) y colocar esas líneas en otra parte del archivo más adelante en el vi actual sección, tenemos que ...

1. Presione la tecla ESC para asegurarse de que estamos en el modo de comando vi.

2. Coloque el cursor en la primera línea del texto que deseamos copiar.

3. Escriba " a4yy " para copiar la línea actual, junto con las 3 líneas siguientes, en un búfer llamado a. Podemos seguir editando nuestro archivo; no es necesario que inserte las líneas copiadas inmediatamente.

4. Cuando lleguemos a la ubicación de las líneas copiadas, use " a antes de los comandos p o P para insertar las líneas copiadas en el búfer. llamado a :

  1. Escriba " ap para insertar las líneas copiadas en el búfer a después de la línea actual en la que descansa el cursor.
  2. Escriba " aP para insertar las líneas copiadas en el búfer a antes de la línea actual.

Si lo deseamos, podemos repetir los pasos anteriores para insertar el contenido del búfer a en varios lugares de nuestro archivo. Un búfer temporal, como el de esta sección, se elimina cuando se cierra la ventana actual.

Resumen

Como hemos visto, vi / m es un editor de texto potente y versátil para la CLI. No dude en compartir sus propios trucos y comentarios a continuación.

  1. Acerca de LFCS
  2. ¿Por qué obtener una certificación básica de Linux?
  3. Regístrese para el examen LFCS

Actualización: si desea ampliar sus habilidades con el editor de VI, le sugiero que lea las siguientes dos guías que lo guiarán a algunos trucos y consejos útiles del editor de VI.