GNU/Linux >> Tutoriales Linux >  >> Linux

Los 20 mejores comandos Vim de Linux que aumentan la productividad

VIM o el Vi mejorado editor de texto es uno de los editores de texto más avanzados disponibles. Aprendamos los 20 mejores comandos de Vim de Linux que debe conocer para obtener niveles asombrosos de productividad.

Recuerde, el editor de texto VIM tiene una curva de aprendizaje bastante empinada. Pero una vez que dedique tiempo a acostumbrarse a los comandos, obtendrá una productividad inigualable en sus tareas diarias que requieren trabajar con texto (¡el editor de texto perfecto para programadores!)

¿Muy friki no? Entendamos el editor y los comandos que contiene.

Comandos Linux Vim para navegación básica

Antes de comenzar, repasemos cómo podemos navegar dentro del editor VIM. VIM es un editor centrado en el teclado, por lo que debe comenzar a acostumbrarse a no tocar el mouse para las tareas básicas de navegación.

Claves Acción
Teclas de flecha
hjkl
Movimiento básico del cursor como de costumbre
B b
W w
Avanzar y retroceder una palabra a la vez:el cursor al principio de la palabra
G Saltar a un número de línea específico
Ctrl+u
Ctrl+d
Similar a la tecla de página arriba/abajo mientras el cursor permanece en la pantalla.
e Avanzar una palabra:cursor al final de la palabra
#
*
Encuentre la palabra dentro del documento en el que se encuentra actualmente el cursor.
n
N
Repite la última búsqueda comando

Experimenta los principales comandos y características de Linux Vim

El editor VIM no solo es flexible y completo, sino también muy intuitivo e "inteligente" cuando se trata de comprender el código que está escrito.

Pero si no le importa pasar su tiempo moviendo el cursor del mouse para señalar y hacer clic en las cosas, no hay razón para que considere VIM. Este editor de texto es para programadores y geeks que realmente aman hacer todo lo posible, ignorar el mouse para siempre y hacer todo usando el teclado.

Lo que pasa con VIM es que, si se puede hacer con un mouse en otros editores de texto, se puede hacer solo con el teclado en VIM.

1. Trabajar con varios archivos en Vim

La mayoría de nosotros, los programadores, estamos acostumbrados a trabajar con varios archivos al mismo tiempo. Nuestros editores de texto GUI nos brindan pestañas que permiten cambiar entre archivos mientras todos permanecen abiertos simultáneamente. Aunque hay algunos atajos de teclado para jugar con esas pestañas, no se compara con lo que VIM puede hacer.

:tabedit <tab key to scroll through files in directory>

¿La mejor parte? No tocas el mouse en absoluto. ¿Cómo te mueves por los archivos? Con gt o gT para cambiar las pestañas hacia adelante o hacia atrás respectivamente. También :tabfirst y :tablast te permitirá saltar de la primera a la última pestaña que está abierta actualmente.

Pero si desea abrir todos los archivos directamente desde el principio, simplemente escriba:

vim -p source_file1.py source_file2.py source_file3.py 

2. Guardar y abrir sesiones de pestañas en VIM

Muy bien, ahora ha abierto una tonelada de archivos en pestañas y también se ha movido a través de los cambios realizados en los archivos. Pero, ¿te diste cuenta de que siempre tienes que abrir los archivos cada vez que quieras tenerlos en las pestañas?

¿Qué pasaría si hubiera una manera de guardar los archivos abiertos tal como están y simplemente moverse con ellos?

Eso es exactamente para lo que son las sesiones de VIM. Cuando trabaja con varios archivos en VIM, es mejor guardar una sesión de VIM para que la próxima vez que abra el archivo de sesión, todo vuelva a estar exactamente como lo dejó.

¿Cómo se crea una sesión de VIM? Primero sale del modo de inserción presionando Esc llave. Luego ingrese el siguiente comando.

:mksession <Session Name>.vim

Ahora, la próxima vez que desee abrir la sesión, puede abrirla directamente desde la terminal escribiendo:

vim -S <Session Name>.vim

O si desea abrir un archivo de sesión mientras está dentro de VIM, simplemente escriba:

:source <Session Name>.vim

3. Autocompletar texto en VIM

¿Siente que VIM no se puede comparar con las características de autocompletar de otros IDE o editores de texto? Vamos a darle un tiro. Aunque no utiliza inteligencia artificial ni ningún tipo de algoritmo de aprendizaje automático para respaldar esta característica, es lo suficientemente robusto.

Cuando esté en su editor VIM tratando de editar algún código, presione la combinación de teclas a continuación para verificar que es excelente para completar automáticamente.

Ctrl+n

Según las letras escritas, el editor encuentra la coincidencia más cercana a la palabra que podría escribir. Aunque no entiende nada de lo que escribes, hace el trabajo muy bien.

4. Comandos VIM de Linux para realizar coincidencias de llaves

Como mencionamos anteriormente, el editor VIM busca patrones dentro del texto, trae consigo la coincidencia de llaves mientras codifica. Nos facilita mucho las cosas cuando trabajamos con códigos largos.

Este es bastante sencillo. Lleve el cursor a la llave de apertura/cierre y presione el % firmar en el teclado.

Y así, tu cursor saltará a la llave correspondiente.

5. Marcar y plegar bloques de código en VIM

Esto no es tan sencillo como le gustaría porque el editor de código no entiende lo que estamos escribiendo, pero solo funciona en la coincidencia de patrones.

Entonces, ¿cómo hacemos para doblar el código dentro del editor vim? Comenzamos con llevar el cursor a donde queremos comenzar el plegado y desde allí usamos la letter V para comenzar a marcar el código hasta donde queremos que se doble.

Una vez hemos marcado el código con la letra V , luego presione zf para doblar el código. La f en zf significa fold . como abrimos el código solo presionamos resaltando la primera línea del código plegado

Para abrir el código ahora, podemos llevar el cursor a la línea donde está el código plegado (como puede ver en la captura de pantalla anterior, la línea de color gris que dice 6 líneas:función1() . Una vez que el cursor esté en esa línea, presione zo donde o significa abierto .

Pero el método anterior es bueno en los casos en que el código es pequeño. ¿Qué pasa si quieres saltar a través de unos cientos de líneas de código? Déjame mostrarte otra técnica de marcado que reducirá tu tiempo a la mitad.

  • Vaya a la línea en la que desea comenzar a plegar el código
  • Presione la letter m seguida de cualquier otra letra para nombrar la marca. Por ejemplo mk
  • Resalte cualquiera de las llaves dentro del código y presione % para saltar directamente a la llave de cierre correspondiente.
  • Presione zf'k

El 'k señala el comando de plegado para buscar la marca "k" que señalamos al escribir mk al principio.

6. Explore archivos en su sistema, sin salir de VIM

Un editor de texto/código de GUI normal sentiría que se pierde la columna "Carpeta del proyecto" que generalmente se proporciona en la barra lateral izquierda de la ventana del editor de código. ¿Puede VIM replicar eso?

¡Por supuesto!

Con los dos comandos :Vexplore y :Sexplore , puede dividir la ventana en dos secciones y examinar todo el sistema de archivos. Eche un vistazo a ambos comandos.

Como puede ver, en ambos casos, el administrador de archivos se abre y puede navegar por los archivos sin perder el enfoque del archivo de código en el que estaba trabajando.

Dado que ya hemos visto las capacidades de pantalla dividida de VIM, ¿cómo dividimos la pantalla en dos y editamos dos códigos?

7. Dividir ventana de código VIM

Puede dividir vertical u horizontalmente la ventana VIM y editar varios archivos de código sin alejarse uno del otro. ¿Cómo? Echemos un vistazo.

El Vexplore y Sexplore Los comandos nos permiten navegar a través de archivos y abrir cualquier archivo en la sección dividida de la terminal. Pero si solo desea abrir el archivo, puede usar vsplit o split comando.

VERTICAL SPLIT
:vsplit <filename>

OR 

:vsp <filename>

HORIZONTAL SPLIT
:split <filename>

OR 

:sp <filename>

El comando anterior dividirá la terminal verticalmente y abrirá el otro archivo por ti.

Comando Acción
Ctrl-w ←
O
Ctrl-w h
Enfóquese en la división adyacente izquierda
Ctrl-w →
O
Ctrl-w l
Enfóquese en la división adyacente derecha
Ctrl-w ↓
O
Ctrl-w j
Enfóquese en la división adyacente inferior
Ctrl-w ↑
O
Ctrl-w k
Enfóquese en la división superior adyacente
Ctrl-w n +
O
Ctrl-w n
Aumentar o disminuir el tamaño de la división en n lineas

Si está trabajando a través de un software de cliente SSH como Terminus para conectarse a su servidor Linux, usar los comandos VIM predeterminados para cambiar las divisiones simplemente cerrará la conexión.

Porque Ctrl-W es el acceso directo predeterminado para cerrar pestañas en Terminus y en muchos otros programas de Windows. Entonces, ¿cómo hacemos esto?

VIM nos permite reasignar teclas para ahorrar pulsaciones y también para evitar conflictos.

8. Reasignar y cambiar los comandos VIM de Linux

¡Algunos atajos en VIM son bastante engorrosos y pueden hacer que nos preguntemos si todo el esfuerzo vale la pena!

El remap , noremap , nnoremap , inoremap , vnoremap Los comandos nos permiten reasignar los comandos VIM existentes a cualquier otra tecla que nos gustaría configurar.

La diferencia entre los comandos de mapeo son los modos de mapa en los que funcionan. Cubrir los modos de mapa está fuera del alcance de este tema, así que te lo dejo para que lo leas. Continúe y escriba :help map-modes .

Esta es la descripción general de los modos de mapa, pero el tema de ayuda tiene muchos detalles si está interesado en comprender estos modos.

¿Cómo mapear los atajos de comando vim existentes? Trabajaremos con el comando "mapa".

Sintaxis :

:map <new key-combo> <existing key-combo>

For example: 
:map <C-J> <C-W><C-J>
:map <C-K> <C-W><C-K>
:map <C-L> <C-W><C-L>
:map <C-H> <C-W><C-H>
:map l gg

Las asignaciones anteriores cambiarán los comandos de cambio de ventana dividida predeterminados a Ctrl-J, Ctrl-K, etc. en lugar del Ctrl-W agregado.

El último comando cambiará el gg comando a l . Entonces, cada vez que presione l, será llevado a la primera línea.

Haga esto para tantos comandos como necesite. Pero estas asignaciones están basadas en sesiones. Una vez que sale de vim, las asignaciones se restablecen.

Para configurar el mapeo de teclas persistente, necesitamos agregar los comandos al archivo VIMrc. Simplemente copie y pegue los comandos sin : en el ~/.vimrc expediente. Si el archivo no existe, simplemente cree uno con solo los comandos que necesita ejecutar al iniciar VIM.

Para configurar estas asignaciones de teclas además de la configuración vim predeterminada existente, simplemente haga una copia o enlace simbólico del archivo original como se muestra a continuación:

root@ubuntu:~# ln -s ~/code/dotfiles/vim/vimrc ~/.vimrc

9. Comandos VIM de Linux para habilitar el resaltado de sintaxis

Continuando con nuestra sección anterior, podemos agregar el comando syntax on en el ~/.vimrc para habilitar el resaltado de sintaxis. Echa un vistazo a la diferencia que haría.

Obviamente, también puede activar y desactivar el resaltado de sintaxis mientras está en sesión, como hicimos con todos los demás comandos antes.

10. Comandos Linux VIM para cortar, copiar y pegar

Copiar y pegar no es tan sencillo como Ctrl-c Ctrl-v, ¡pero es bastante fácil!

En VIM, la acción Copiar se llama Yank y la acción Cortar se llama Eliminar . La acción de pegar sigue llamándose Pegar .

Entonces, los accesos directos se nombran de acuerdo con estos nombres. Por ejemplo, si tengo que "Yank" algo, puedo escribir y y el texto seleccionado se extrae.

Para cortar un texto, el comando es el mismo que borrar, la letra d . Entonces puede comprender que incluso cuando elimina un fragmento de texto, el editor de VIM en realidad está preparando el texto para pegarlo en otro lugar.

Cualquiera que sea la sección en la que se encuentre el cursor, se copiará o eliminará. Para pegar el texto copiado, simplemente escriba p para pegar después del cursor, y P para pegar antes del cursor.

11. Revisión ortográfica en VIM

No esperabas ver este punto, ¿verdad? Bueno, VIm tiene una opción de revisión ortográfica que funciona en base a un archivo de diccionario que ya está disponible. Todo lo que tenemos que hacer es configurar el idioma.

En el archivo ~/.vimrc, agregue la siguiente línea:

set spell spelllang=en_us

Como puede ver, el texto de Lorem Ipsum se resalta instantáneamente cuando activé el corrector ortográfico.

12. Sustitución:buscar y reemplazar en VIM

La funcionalidad de buscar y reemplazar que ofrecen todos los editores de texto GUI también se encuentra en VIM. ¿Cómo? Debido a la coincidencia de patrones.

:%s /Lorem/JournalDev/g

La línea anterior reemplazará instantáneamente cada aparición de Lorem en cada línea (g ) con la palabra JournalDev.

13. Ejecutar comandos de Linux en VIM

Entonces, está editando un código y necesita ejecutar rápidamente un comando. ¿Necesita guardar y salir de VIm solo para ejecutar el código? ¡En realidad no!

Vim le permite ejecutar el código desde el editor sin tener que perder el rastro del código. Puede hacerlo mediante el uso de un signo de exclamación después de los dos puntos. He aquí un ejemplo:

:!ping www.journaldev.com

¡Eso es todo! Ahora, si es un comando que finaliza después de la salida, puede presionar la tecla ENTER y volver a la programación. Pero en el caso de este comando de ping, puede presionar la interrupción del teclado Ctrl-C y luego presione la tecla ENTER sin perder su editor VIM del fondo.

Alternativamente, puede escribir :shell para obtener directamente un caparazón abierto para usted. Una vez que haya terminado con lo que necesita hacer, simplemente escriba exit para salir del shell y volver a VIM, que permanece como estaba antes.

14. Eliminación de varias palabras

Sabe que las palabras a la derecha de su cursor deben eliminarse. Pero no toda la frase. ¿Cómo lo haces? Con el mismo comando y algunos parámetros adicionales.

El d El comando simplemente hará uso del número especificado después para eliminar esas muchas palabras. Eche un vistazo al comando a continuación. Ambos comandos funcionan según la ubicación del cursor.

d3w #This will delete 3 words to the right 
d3b #This will delete 3 words to the left

15. Comando Linux VIM para deshacer cambios

Mientras te acostumbras a VIM, habrá ocasiones en las que terminarás eliminando algo que no querías. El enfoque Ctrl-Z no funciona en VIM, entonces, ¿cómo deshaces tu trabajo?

u

La letra u deshará automáticamente los cambios como lo haría ctrl-z.

16. Insertar texto de un archivo diferente

Este es un truco de productividad bastante útil. Ahorra tiempo al copiar y pegar elementos de varios archivos para fusionarlos.

Entonces, ¿qué es esto exactamente? Simplemente lee el texto de otro archivo especificado e inserta el texto completo justo después del cursor.

:r <file name>

17. Macros en VIM

Sabemos que VIM puede hacer mucho, pero ¿imaginaste un editor de línea de comandos para poder grabar macros? Bueno, será mejor que empieces a imaginar como este editor se llama poderoso por el gran potencial que tiene este editor de apariencia simple.

¿Cómo se graba una macro? ¡Es muy fácil! Ingresas al modo de comando (si estás en el modo de inserción, simplemente presiona Esc ) .

qb #The letter after q is just to identify the macro. Can be anything
q #Stop recording macro
@b #Replay the macro. The letter runs that specific macro

¿Cuál es el uso de esta macro? Cualquier cosa que pueda hacer dentro del editor VIm se puede hacer con una macro. Entonces, por ejemplo, usted:

  • Ir a la primera palabra
  • Eliminar la primera palabra
  • Reemplácelo con algo más

Si tiene que hacer esto para varias líneas, todo lo que necesita hacer es grabar una macro y reproducirla.

18. Uso de los comandos Count For

Casi todos los comandos que "podrían" necesitar ingresar varias veces, aceptan un número como argumento. Por ejemplo, el comando de eliminación d , el comando de salto de línea k , etc.

Entonces, si quiero eliminar 6 líneas, puedo hacer el comando d 6 veces o simplemente decir 6d .

Eso es para eliminar, también puedes hacerlo cuando te mueves por el texto. Si quiero avanzar 3 palabras, todo lo que escribo es 3w o 3e dependiendo de dónde quiero colocar el cursor, al principio o al final.

19. Conocer el progreso dentro del archivo

Si se está desplazando por un archivo largo y simplemente necesita saber dónde se encuentra en este momento, elija este comando. Le dará una cifra porcentual de su posición actual dentro del archivo.

Como puede ver en la imagen de arriba, me dice que la posición actual de mi cursor está en la marca del 40% desde el final del archivo. El comando para hacer esto es escribiendo Ctrl-G cuando estás en modo comando.

20. Módulos de ayuda para comandos VIM de Linux

Voy a terminar esta publicación hablando sobre la herramienta útil, el comando de ayuda. Similar a las páginas man en Linux, la help El comando permite a los usuarios comprender todos los comandos vim en detalle. Este es un ejemplo de lo que muestra el comando de ayuda para nuestro comando de eliminación.

:help d

Conclusión

Este será solo el comienzo de su viaje en vim-land. Hay un montón de comandos y funciones que explorará a medida que avanza con el aprendizaje de VIm.

Pero hay una cosa de la que puedes estar seguro. Si aprende VIM lo suficientemente bien una vez, se convertirá en algo natural para usted esperar esas funciones cuando comience a usar cualquier otro editor.

Referencias

  • ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf:la guía completa de 572 páginas de VIm que repasa todo lo que VIM tiene para ofrecer.


Linux
  1. 10 comandos básicos de Linux que necesitas saber

  2. 7 comandos de red de Linux que todo administrador de sistemas debería conocer

  3. ¡Complementos de Vim que puede usar para aumentar su productividad!

  4. Comandos de búsqueda de Linux

  5. Los mejores comandos básicos de Linux para principiantes

La mejor distribución de Linux:las 10 mejores recomendaciones para mejorar su experiencia con Linux

Los 30 mejores comandos de Linux

Los 25 mejores comandos de Vim para Linux

Cómo usar los comandos FTP de Linux

Los más de 50 comandos principales de Linux que DEBE conocer

Los 5 mejores editores de texto de Linux