5 ejemplos: Usar la shell sin salir de vim

A veces estamos trabajando con un archivo y queremos ejecutar una serie de comandos, pero sin salir del editor. Veremos varias maneras de hacerlo.

1. El comando Ex shell (sh)

Este comando ((sh)ell)) sirve para abrir una shell sin cerrar el editor.

Importante: Para volver de la shell al editor se puede usar el atajo de teclado o Ctrl-d o bien el comando exit

2. Edición de archivos de la shell

Aquí estamos editando el archivo .bashrc, para que se apliquen los cambios podemos ir a la shell en modo login con:

:set shell=bash\ --login

3. Guardar e ir a la shell

En este ejemplo vemos como se puede aplicar los cambios en un servicio

:w | sh

Aquí la clave es el carácter “|” el cual sirve para ejecutar el comando (sh)ell luego de w.

4. Ejecución de bajo perfil

El comando silent ejecuta el comando de manera silenciosa y el comando redraw! limpia y actualiza la pantalla.

5. Ejecutar el archivo en edición

Al escribir un script en lugar de guardar, salir, ejecutar el script y volver a editarlo, podemos ejecutarlo directamente desde vim:

La clave en cuestión aquí es el carácter ‘%‘ que indica el buffer de la ventana actual.

Cosas sorprendentes con ViM

Sorpresa 1

Abrir directamente un archivo en un determinado número de  linea, por ejemplo: línea 247:

vim +247 /ruta/al/archivo

Sorpresa 2

Ejecutar un comando en modo Ex al abrir un archivo:

vim +:set nu /ruta/al/archivo

Sorpresa 3

Con Vim se puede volver al estado que tenía el archivo 10 minutos atrás con el comando en el comando en modo ex:

:earlier 10m

Por supuesto, se puede volver al futuro con:

:later 10m

¿Qué pasa si no se pone ‘m’? En eseo caso se retrocede o avanza la cantidad de ediciones especificada.

Sorpresa 4

Convertir un archivo en html en modo ex se hace así:

:TOhtml

El resultado se puede ver aquí es un ejemplo de un archivo Makefile.in convertido a HTML.

Sorpresa 5

Editar un archivo de manera remota:

vim ftp://remotehostname.com/myfile