El comando del «punto» . en el editor #Vim es una interesante herramienta que nos puede ser muy útil.
Continuamos con la serie improvisada de tutoriales sobre el editor Vim, de cosas que voy aprendiendo y que comparto en el blog.
Hasta ahora hemos aprendido cosas como:
- Cómo salir de Vim
- Mejora tu experiencia de uso con 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
- Abrir una consola mientras usamos Vim
- El gestor de archivos para la línea de comandos Vifm
- Cómo añadir iconos a Vifm
- Recopilación de comandos útiles de Vim
- Cambiar el mapeado de la tecla Escape en Vim
Y en esta ocasión veremos qué uso darle al comando del punto «.» y cómo nos puede hacer muy sencillas muchas tareas en Vim.
Este artículo es una traducción/adaptación de un artículo en inglés escrito por Jovica Ilic, a quien pedí permiso para poder utilizarlo en mi blog, que publicó en su web y que te recomiendo visitar:
El comando «.» en Vim lo que hace es repetir el último comando ejecutado, tantas veces como lo pulses. Veamos unos ejemplos de cómo nos puede ayudar al usar Vim.
Pongamos el ejemplo de que queremos borrar 5 palabras en un texto. Para ello podemos borrarlas de una vez mediante el comando 5dw
Esto «nos obliga» a, mientras estamos editando, contar mentalmente el número de palabras que queremos borrar. Y puede que a veces sean más palabras o a veces menos. Aquí es donde el comando del punto . nos viene a ayudar.
Si queremos borrar una cantidad de palabras desde la posición del cursor hacia adelante, y no sabemos la cantidad de palabras a borrar y no queremos contarlas mentalmente, simplemente ejecutamos el comando dw que nos borrará una palabra y después borramos las siguientes palabras pulsando el punto . y repetirá el comando tantas veces como palabras queramos borrar.
El comando del punto . repite el último comando ejecutado. Pero solo aquellos que modifican el contenido del buffer. Por ejemplo, si ejecutamos el comando Ctrl+D para bajar una página del texto, si después pulsamos el punto «.» esto no repetirá el comando bajando otra media página el texto.
Te recuerdo que al pulsar el punto solo se repetirán los comandos que de alguna manera inciden en el buffer, modificando de alguna manera el texto.
Espero que te haya resultado útil y que poco a poco vayas conmigo descubriendo lo que ofrece Vim, o que si ya eres un experto usuario/a de Vim quizás hayas descubierto algo interesante en este u otro artículo de la serie.
Muy útil
Para borrar del cursor al final de la línea prefiero D; pero sin duda gran tipo con el punto, se me hace que entra a mi repertorio de comandos en VIM
Para lo que mas utilizo el comando ‘.’ es cuando hago rebase de varios commits en git en modo interactivo y quiero hacer la misma operacion «fixup» en varios commits.
Por ejemplo, si tengo tres commits
Y quiero hacer mezclarlos (squash) porque en realidad el segundo y tercer commits eran para arreglar algo que había hecho mal en el primer commit.
Coloco el cursor de vim sobre la letra ‘p’ (pick) del segundo commit y ejecuto el comando ‘cw’ (change word) que borra la palabra pick y vim cambia a modo insert. Entonces escribo ‘f’ (fixup) y pulso ‘esc’ para volver al modo comando.
Y ahora solo tengo que ir pulsando abajo y pulsar ‘.’ por cada linea en los commits sobre los que quiera hacer squash.
Espero que se entienda 🙂
Hola!
Qué bien leerte por aquí y muchas gracias por complementar los artículos con tu experiencia!!
Yo creo que sí se entiende… 😉
Saludos!
Muy bueno como siempre!!!! justo hoy habia leído la fuente y no lo habia entendido…. la barrera del idioma! ahora entiendo porque dot borra solo lo editable.
Si puedo aportar algo seria…. el comando dw borra la parte de la palabra que resta, si el cursor esta en la anteult. letra de la palabra con dw se borrara lo resta de la palabra, pero si el comando es diw se borra toda la palabra completa este donde este el cursor posicionado dentro de la palabra a borrar, y claro funciona tambien.!
te sigo leyendo.
Correctas tus apreciaciones. Gracias por aportarlas.
Saludos