8 interesantes consejos y trucos del editor 'Vi / Vim' para todos los administradores de Linux - Parte 2


En el artículo anterior de esta serie, revisamos 7 consejos y trucos para agregar a su conjunto de habilidades de vi/m. Además de las razones dadas anteriormente, aprender a usar de manera efectiva un editor de texto en Linux es una habilidad esencial para un administrador o ingeniero de sistemas y es una competencia requerida para aprobar cualquier programa importante de certificación de Linux (como LFCS, LFCE, RHCSA y RHCE) .

Dicho esto, comencemos.

SUGERENCIA # 8: Cree ventanas horizontales o verticales

Este consejo fue compartido por Yoander, uno de nuestros lectores, en la Parte 1. Puede iniciar vi/m con múltiples divisiones horizontales o verticales para editar archivos separados dentro de la misma ventana principal:

Inicie vi/m con dos ventanas horizontales, con test1 en la parte superior y test2 en la parte inferior

# vim -o test1 test2 

Inicie vi/m con dos ventanas verticales, con test3 a la izquierda y test4 a la derecha:

# vim -O test3 test4 

Puede cambiar el cursor de una ventana a otra con la rutina de movimiento vi/m habitual (h: derecha, l: izquierda, j: abajo, k: arriba):

  1. Ctrl+w k – top
  2. Ctrl+w j – bottom
  3. Ctrl+w l – left
  4. Ctrl+w h – right

SUGERENCIA # 9: Cambie letras, palabras o líneas completas a MAYÚSCULAS o minúsculas

Tenga en cuenta que este consejo solo funciona en vim. En los siguientes ejemplos, X es un número entero.

  1. To change a series of letters to uppercase, position the cursor on the first letter, then type gUX in ex mode, and finally press the right arrow on the keyboard.
  2. To change X number of words, place the cursor at the beginning of the word, and type gUXw in ex mode.
  3. To change an entire line to uppercase, place the cursor anywhere on the line and type gUU in ex mode.

Por ejemplo, para convertir una línea completa en minúsculas a mayúsculas, debe colocar el cursor en cualquier lugar de la línea y escribir gUU:

Por ejemplo, para convertir 2 palabras en mayúsculas a minúsculas, debe colocar el cursor al principio de la primera palabra y escribir gu2w:

SUGERENCIA # 10: Elimine caracteres, palabras o al principio de una línea en el modo INSERT

Si bien puede eliminar caracteres o varias palabras a la vez en el modo ex (es decir, dw para eliminar una palabra), también puede hacerlo en el modo Insertar de la siguiente manera:

  1. Ctrl + h: delete the previous character to the place where the cursor is currently located.
  2. Ctrl + w: delete the previous word to the place where the cursor is currently located. For this to work correctly, the cursor must be placed in an empty space after the word that you need to delete.
  3. Ctrl + u: delete the current line beginning at the character immediately to the left of the place where the cursor is.

SUGERENCIA # 11: Mueva o copie líneas existentes a otra línea del documento

Si bien es cierto que puede usar los conocidos comandos dd, yy yp en modo ex para eliminar, tirar (copiar) y pegar líneas, respectivamente, eso solo funciona cuando el cursor se coloca donde desea realizar esas operaciones . La buena noticia es que con los comandos copiar y mover puede hacer lo mismo independientemente de dónde esté colocado el cursor.

Para el siguiente ejemplo usaremos un poema corto titulado "Forever" de Terri Nicole Tharrington. Para comenzar, haremos que vim muestre los números de línea (: establezca nu en el modo de comando; considérelo como un consejo adicional). Usaremos: 3copy5 (también en modo Comando) para copiar la línea 3 debajo de la línea 5:

Ahora, deshaga el último cambio (Esc + u - ¡otro consejo adicional!) Y escriba: 1move7 para reemplazar la línea 7 con la línea 1. Tenga en cuenta cómo las líneas 2 a 7 se desplazan hacia arriba y la línea 1 anterior ahora ocupa la línea 7:

SUGERENCIA # 12: Cuente las coincidencias resultantes de una búsqueda por patrón y muévase de una ocurrencia a otra

Esta sugerencia se basa en el comando sustituto (sugerencia n. ° 7 en la Parte 1 de esta serie), con la excepción de que no eliminará nada, ya que la opción n anula el comportamiento sustituto, lo que da como resultado el recuento de apariciones del patrón especificado :

¡Asegúrese de no omitir ninguna de las barras diagonales!

:%s/pattern//gn 

Por ejemplo,

:%s/libero//gn

Para pasar de una ocurrencia del patrón a la siguiente en el modo ex, presione n (N minúscula). Para ir a la instancia anterior, presione N.

Si usa vi/m para editar archivos de configuración o para escribir código, querrá poder mostrar los números de línea cuando abra el programa por primera vez y configurar la sangría automática para que cuando presione la tecla Enter, el cursor esté colocado automáticamente en la posición adecuada. Además, es posible que desee personalizar la cantidad de espacios en blanco que ocupa una pestaña.

Si bien puede hacer eso cada vez que inicia vi/m, es más fácil configurar estas opciones en ~/.vimrc para que se apliquen automáticamente:

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Para obtener más opciones para personalizar su entorno vi/m, puede consultar la documentación de vim en línea.

SUGERENCIA # 15: Obtenga ayuda / opciones generales de Vim con vimtutor

Si en algún momento necesita mejorar sus habilidades generales de vi/m, puede iniciar vimtutor desde la línea de comandos, que mostrará una ayuda completa de vi/m a la que puede consultar tantas veces como desee sin la necesidad de iniciar un navegador web para buscar cómo realizar una determinada tarea en vi/m.

# vimtutor

Tenga en cuenta que puede navegar o buscar el contenido de vimtutor como si estuviera navegando por un archivo normal en vi/m.

Resumen

En esta serie de 2 artículos, he compartido varios consejos y trucos de vi/m que deberían ayudarlo a ser más efectivo cuando se trata de editar texto usando herramientas de línea de comandos. Estoy seguro de que debe tener otros, así que siéntase libre de compartirlos con el resto de la comunidad mediante el formulario a continuación. Como siempre, las preguntas y los comentarios también son bienvenidos.