Este es uno de los capítulos del tutorial Vim, un editor atemporal. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.
Hasta el momento has visto la sintaxis de Vim. Como moverte por el editor y como añadir y modificar texto. Sin embargo, lo que has visto no son mas que atajos de teclado, combinación de teclas y otras operaciones similares. Pero vamos a ir un poco mas allá. ¿Que pensarías si te digo que tienes que tratar con Vim como si le hablaras? Si, para relacionarte con Vim, tienes que utilizar su propio lenguaje, el lenguaje de Vim. Y es que el lenguaje de Vim cuenta con sus verbos, nombres y adverbios, como verás en este nuevo capítulo del tutorial sobre Vim
El lenguaje de Vim
Como cualquier otro lenguaje, el lenguaje de Vim tiene sus verbos, nombre y adverbios, tal y como he mencionado en la introducción. A continuación, encontrarás cada uno de los elementos del lenguaje de Vim, y posteriormente las construcciones gramaticales.
Verbos
Así, y esto ya te lo fui indicando en el capítulo anterior, en Vim, tienes los siguientes verbos, que son los que indican las acciones que vas a realizar,
d
para borrar. Indicarte que además de borrar, lo copia. De esta forma, te ahorras un paso.c
te permite cambiar. Realmente el efecto es el de borrar, y volver al modo insertar. De esta te ahorras pulsar una tecla. Al fin y al cabo, el objetivo es ser eficiente.y
es el verbo que utilizarás para copiar.>
introduce una sangría
Acciones instantáneas
Además de los verbos, en el lenguaje de Vim, existen una serie de acciones instantáneas. Me refiero a acciones que no se pueden combinar ni formar frases con ellas, como verás que se puede hacer con los verbos anteriores. Sin embargo, estas acciones instantáneas tienen su interés, en tanto en cuanto, te permiten realizar pequeñas operaciones, como por ejemplo, borrar un carácter o reemplazarlo. Estas acciones, son las siguientes,
x
lo utilizarás para borrar el carácter que se encuentra bajo el cursor.r
te permite reemplazar un carácter por otros
borras el carácter sobre el que se encuentra el cursor y cambias al modo insertar.
Así, básicamente la diferencia entre r
y s
, es que mientras que el primero cambia el carácter y se mantienen en el modo normal, en el segundo, al realizar el cambio pasas al modo insertar.
Modificadores
Los modificadores preceden a los nombres. Son los que te van a permitir describir como vas a actuar. Con el verbo indicas lo que vas a hacer, mientras que con el modificador como lo vas a llevar a cabo.
i
dentro del objeto.a
alrededor. La diferencia con el anterior, es que este incluye los espacios que rodean el objeto.un número
cualquier númerot
realiza una búsqueda y para justo antes del primer hallazgof
igual que en el anterior, pero en este caso se detiene en el hallazgo
La diferencia entre i
y a
, es que el primero no incluye espacios y el segundo no. Así si estás entre dos palabras, por ejemplo, y utilizas diw
solo borrará el espacio, mientras que si utilizas daw
borrarás la siguiente palabra. Puedes probarlo con En un lugar de la Mancha». Si sitúas el cursor entre de* y la y utilizas diw
borrará el espacio, mientras que si utilizas daw
borrará el espacio y la.
Si no utilizas los modificadores, el comportamiento de la acción se entiende desde el punto que te encuentras. Mientras que si utilizas el modificador será agnóstico del punto en el que te encuentres. Así,
dw
borrará desde el punto que te encuentres en la palabra hasta el final de la misma.diw
borrará la palabra completadaw
hará lo mismo que en los casos anteriores, es decir, borrará la palabra completa, pero también los espacios que la rodean. «casa en fincas»
Nombres
Los nombres no son mas que objetos en tu texto, letras, palabras, frases, párrafos, etiquetas o bloques. Así, en Vim, tienes los siguientes nombres,
l
indica una letraw
lo utilizarás para palabrasb
se refiere también a palabras, pero en este caso a las palabras precedentes.s
ó)
para frasesp
ó}
en el caso de párrafost
indica que te refieres a una etiqueta (como en el caso de HTML ó XML)"
lo utilizarás para una frase entre comillas dobles'
en este caso se refiere a comillas simples
Nombres y movimientos
¿A que me refiero con nombres y movimientos? Con nombre me refiero a objetos propiamente dichos. Objetos como puede ser una palabra, una frase, un párrafo, lo que hay entre comillas. Al final, se trata de todo aquello que está relacionado con los modificadores a
e i
.
En el caso de que no lleve esos dos modificadores, o bien que utilice los modificadores de búsqueda, como son f
y t
, son movimientos. Aunque para los efectos el comportamiento es el mismo.
Así, en lo que ser refiere a movimientos, a continuación tienes algunos,
dw
borra hasta la siguiente palabradt,
borra hasta la siguiente comade
borra hasta el final de la palabra en la que te encuentrasd2e
borra hasta el final de la siguiente palabradj
borra una línea hacia abajodt)
borra hasta el siguiente paréntesisd/la
borra hasta la primera aparición dela
Por el contrario, cuando te quieres refererir a objetos de texto,
iw
,aw
es una palabra con las connotaciones indicadas anteriormente, en lo que se refiere ai
ya
.is
,as
indica una fraseip
,ap
se refiere al párrafoi)
,a)
se refiere a lo que está contenido entre paréntesis. Lo mismo valdría parai]
ei}
. Igualmente, también valdría para sus parejasi(
,i[
ei{
.i'
,a'
en este caso a lo que está entre comillas simples. Y lo mismo valdría para las comillas dobles y para las comillas inclinadas.it
,at
se refiere a las etiquetas otag
de html oxml
A por las construcciones gramaticales
Ahora que ya conoces los nombres y los verbos, ha llegado el momento de comenzar a crear tus propias construcciones gramaticales, atendiendo a la siguiente estructura,
<numero><verbo><nombre/movimiento>
d2l
borra dos caracteresd2w
borra dos palabras. A partir de aquí, y atendiendo a los modificadores, puedes utilizard2aw
ód2iw
, dependiendo del objetivo que quieras conseguir. Ten en cuenta, que si estás en mitad de una palabra y utilizasd2w
, borrarás parte de esa palabra y la siguiente.yip
copia el párrafo actualcis
borra la frase en la que te encuentras y pasa al modo insertarct,
borra el texto desde donde te encuentras hasta la siguiente coma, sin incluir la coma, y pasa al modo insertar. Si quieres incluir la coma tendrías que utilizarcf,
ct.
borra el texto desde donde te encuentres hasta el punto, sin incluir el punto, y pasa al mode insertar.di"
borra lo que se encuentra entre comillas. Mientras queda"
, borra no solo lo que se encuentra entre comillas sino también las propias comillas.di]
borra lo que se encuentre entre corchetesdT,
borra hasta la anterior coma en la frase, sin borrar la coma. Si quisieras borrar también la comadF,
.
Pero, ten en cuenta que estas construcciones gramaticales son repetibles. La verdadera magía de Vim es la composición. Así, puedes enteneder los operadores como verbos, los números como adjetivos, y los movimientos o nombres como objetos.
Algunos consejos sobre el lenguaje de Vim
.
iw
mejor quew
. Es decir objetos de texto, mejor que movimientos. Esto es así, porque en el caso de que tengas que repetir una operación, la puedes repetir con mayor exactitud en el caso de que utilices objetos, y no movimientos. Repitibilidad.- intenta utilizar el mínimo número de pulsaciones posibles haciendo uso de las diferentes herramientas que has visto, básicamente, conjugar verbos y articular frases.
- tienes que pensar que el principal objetivo de Vim, no es tanto escribir, sino editar texto.
- no trates de memorizar todos los comandos, simplemente conjuga.
El vídeo
Todo lo que te he contado, ahora en vídeo,
Más información,