Veamos cómo poder abrir una consola y trabajar con ella, mientras estamos editando un archivo en el editor Vim

Sigo en mi empeño por utilizar Vim de una manera más contínua para las tareas que requieren el uso de un editor de texto y debo reconocer que me gusta cada vez más.
Voy descubriendo cosas nuevas e interesantes que me facilitan muchas tareas de edición y de manejo de diferentes herramientas de la consola de GNU/Linux.
Y por el camino voy escribiendo en el blog cosas que quizás a ti, una persona también neófita como yo en el uso de Vim te pueden interesar o que a tí persona más experta quizás te revele algo que te faltaba por conocer.
Hasta el momento he(mos) aprendido a realizar las siguientes cosas con Vim:
Hasta ahora hemos aprendido cosas como:
- Cómo salir de Vim
- A utilizar las útiles abreviaturas en Vim
- Manejar listas de tareas
- instalar el plugin git-gutter para archivos de git
- Utilizar el editor Kate con en modo Vim
- Utilizar las pestañas en Vim
- Atajos de Vim en nuestra terminal
En esta ocasión veremos cómo editar un archivo con Vim y a la vez abrir una consola y realizar diferentes tareas y alternar entre la consola y Vim. Empezamos…
Utilizando Vim durante este proceso de aprendizaje, me he encontrado con la necesidad de tener que utilizar la consola mientras estaba editando un archivo de Vim, realizar una tarea y seguir editando con Vim el archivo.
Cierto es que podríamos utilizar herramientas como tmux, pero Vim tiene opciones suficientes, para si utilizar sus porpias herramientas sin necesidad de otras opciones.
Veamos las opciones de comandos que conozco:
Comando :shell
En primer lugar tenemos el comando :shell Que nos abrirá una consola en la que podremos realizar las diferentes tareas que realizamos en una consola o línea de comandos.
Una vez en la consola, para regresar a Vim simplemente escribiremos exit
Comando :terminal
O también podemos utilizar la versión reducida :term Esta opción está disponible para versiones de Vim más actuales (creo que a partir de la versión 8)
En mi opinión, me gusta más esta opción que la anterior. Este comando nos dividirá la pantalla de Vim y nos abrirá una terminal. Podremos movernos entre el archivo editado y la terminal mediante el comando Ctr+w w
Pudiendo tener las dos tareas simultáneamente ejecutándose en la pantalla. Para gustos las distintas opciones, y para mi gusto, me gusta más que la división que hace Vim al ejecutar :term sea en vertical, así que para eso podemos ejecutar de manera conjunta los comandos :vert :term
Podemos crear nuestro propia atajo de teclado para poder realizar una división vertical de la terminal y abrir una consola, añadiendo el «mapeado» en el archivo de configuración .vimrc una línea con el siguiente texto:
map <S-t> :vert :term<CR>
De esta manera al pulsar sobre Shift+t se nos ejecutará dicho comando, que abrirá una terminal en vertical en nuestro editor Vim.
Personalmente me gusta más que la terminal se abra a la derecha y mantener a la izquierda el editor, para ello también he añadido en el archivo .vimrc la siguiente línea:
set splitright
Y como lo mejor es una prueba empírica, os dejo con una pequeña grabación de estos comandos para ver cómo funcionan:
Hola Víctor, hay un pequeño error. Para volver a vim des de :shell se escribe «exit» sin los «:».
Muy útil!
cierto…
Gracias! 😉
Buen artículo. Relacionado también con el cambio entre vi(m) y el terminal no se debe olvidar el poderoso CTRL-Z para dejarlo en segundo plano y continuar ejecutando comandos o cambiando de directorios para recuperar el editor con “fg” en cualquier momento.
Hola!
Muchas gracias por completar el artículo con tu aporte! Soy un novato co Vim…
Saludos!