Curso de Vim: Abrir una consola mientras estamos editando con Vim

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

Pantalla de bienvenida del Editor Vim
Bienvenido a 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:

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:

4 comentarios sobre “Curso de Vim: Abrir una consola mientras estamos editando con Vim

  1. Hola Víctor, hay un pequeño error. Para volver a vim des de :shell se escribe «exit» sin los «:».
    Muy útil!

  2. 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.

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.