El dominio de Vim continúa: 8 consejos más poderosos para administradores de Linux (Parte 2)

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

Dicho esto, comencemos.

8. Crear ventanas Vim horizontales o verticales

Este consejo fue compartido por Yoander, uno de nuestros lectores, en Parte 1. Puedes lanzar vi/m con múltiples divisiones horizontales o verticales para editar archivos separados dentro de la misma ventana principal: Lanza vi/m con dos ventanas horizontales, con test1 en la parte superior y test2 en la parte inferior.

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

vim -o test1 test2 
Launch Vim Editor in Horizontal Windows

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

vim -O test3 test4 
Launch Vim Editor in Vertical Windows

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

  • Ctrl+w k – arriba
  • Ctrl+w j – abajo
  • Ctrl+w l – izquierda
  • Ctrl+w h – derecha

9. Cambiar mayúsculas o minúsculas en Vim

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

  • Para cambiar una serie de letras a mayúsculas, coloque el cursor sobre la primera letra, luego escriba gUX en el modo ex, y finalmente presione la flecha derecha en el teclado.
  • Para cambiar X número de palabras, coloque el cursor al inicio de la palabra y escriba gUXw en el modo ex.
  • Para cambiar toda una línea a mayúsculas, coloque el cursor en cualquier parte de la línea y escriba gUU en el modo ex.

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

Change String to Uppercase in Vim Editor

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

Convert String to Lowercase in Vim Editor

10. Eliminar Texto en el Modo de Inserción de Vim

Mientras que puedes borrar caracteres o varias palabras de una vez en el modo ex (es decir, dw para borrar una palabra), también puedes hacerlo en el modo de inserción de la siguiente manera:

  • Ctrl + h: borrar el carácter anterior hasta el lugar donde se encuentra el cursor actualmente.
  • Ctrl + w: borrar la palabra anterior hasta el lugar donde se encuentra el cursor actualmente. Para que esto funcione correctamente, el cursor debe estar colocado en un espacio vacío después de la palabra que necesitas borrar.
  • Ctrl + u: borrar la línea actual comenzando desde el carácter inmediatamente a la izquierda del lugar donde se encuentra el cursor.

11. Mover o Copiar Líneas Existentes Dentro de Vim

Si bien es cierto que puedes usar los conocidos comandos dd, yy y p en el modo ex para borrar, copiar (yank) y pegar líneas respectivamente, eso solo funciona cuando el cursor se coloca donde deseas realizar esas operaciones.

La buena noticia es que con los comandos copiar y mover, puedes hacer lo mismo sin importar dónde se encuentre el cursor actualmente.

Para el siguiente ejemplo, utilizaremos un poema corto titulado “Por siempre” de Terri Nicole Tharrington. Para comenzar, haremos que Vim muestre los números de línea (:set nu en modo Comando – considere esto un consejo adicional). Utilizaremos :3copy5 (también en modo Comando) para copiar la línea 3 debajo de la línea 5:

Move Copy Existing Lines in Vim

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 anterior 1 ahora ocupa la línea 7:

Move Lines in Vim Editor

12. Navegar y contar coincidencias de patrones en Vim

Este consejo se basa en el comando de sustitución (consejo #7 en Parte 1 de esta serie), con la excepción de que no eliminará nada ya que el comportamiento de sustitución se ve anulado por la opción n, lo que resulta en el recuento de ocurrencias del patrón especificado:

Asegúrese de no omitir ninguna de las barras diagonales hacia adelante!

:%s/pattern//gn 

Por ejemplo,

:%s/libero//gn
Count Matches by Search Pattern in Vim

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

13. Abrir un archivo en Vim en una línea especificada

Por defecto, cuando inicia vi/m, el cursor se coloca inicialmente en la última línea que se editó. Si desea abrir el programa y colocar el cursor directamente en una línea especificada, puede utilizar el siguiente truco:

# vim filename +line_number

Por ejemplo, abra por siempre.txt y coloque el cursor en la línea 6:

# vim forever.txt +6

Vamos a modificar este ejemplo un poco. Supongamos que queremos abrir el archivo en la línea donde aparece la 3ª ocurrencia del patrón:

# vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Echemos un vistazo más de cerca a lo que hace el comando anterior:

  • grep -in patrón archivo – muestra todas las líneas del archivo donde aparece el patrón, con el número de línea al principio de cada línea de salida.
  • sed -n 3p – muestra la 3ª línea del resultado de la tubería anterior.

Por último,

  • cut -d: -f1 devuelve el primer campo de la tubería anterior con el carácter de dos puntos (:) como separador de campos.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1
Open Vim Editor in Specified Line

El resultado del comando anterior se pasa a vi/m para abrir el programa en la línea especificada.

14. Personalizar el entorno de Vim

Si utilizas vi/m para editar archivos de configuración o para escribir código, querrás poder mostrar el número

  • Vim para administradores de Linux: 8 consejos y trucos poderosos (Parte 2)

de líneas cuando abras el programa por primera vez y establecer la sangría automática para que, al pulsar la tecla Enter, el cursor se coloque automáticamente en la posición adecuada. Además, es posible que desees personalizar el número de espacios en blanco que ocupa una pestaña.

Mientras que puedes hacerlo cada vez que inicias vi/m, es más fácil establecer 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 tu entorno vi/m, puedes consultar la documentación en línea de Vim.

15. Obtener ayuda general de Vim/con Vimtutor

Si en algún momento necesitas mejorar tus habilidades generales de vi/m, puedes lanzar vimtutor desde la línea de comandos, lo que mostrará una ayuda completa de vi/m a la que puedes recurrir siempre que desees sin necesidad de abrir un navegador web para buscar cómo realizar una tarea específica en vi/m.

vimtutor
Vim Editor Help and Options

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

Resumen

En esta serie de 2 artículos, he compartido varios consejos y trucos de vi/m que deberían ayudarte a ser más efectivo a la hora de editar texto utilizando herramientas de línea de comandos.

I’m sure you must have other ones – so feel free to share them with the rest of the community in the comment form below. As always, questions and comments are also welcome.

Source:
https://www.tecmint.com/how-to-use-vi-and-vim-editor-in-linux/