Junto con los comandos de ejecución inmediata, existe un segundo grupo de comandos llamados de ``línea de comandos'', su peculiaridad es que estos comandos no están representados por una o varias teclas, sino que tienen un nombre propiamente dicho y para ejecutarlos hay que escribir su nombre.
Antes de introducir uno de estos comandos, hay que advertir a Vim que queremos escribir el nombre de un comando, para que conforme vayamos tecleando el nombre no interprete nuestras pulsaciones como comandos de ejecución inmediata. El comando para advertir a Vim que queremos ejecutar un comando escribiendo su nombre es el comando dos puntos (0 0«:0 0»).
¿Qué diferencia hay entre hablar de comandos especiales o hablar de un modo especial. La verdad es que no demasiada; pero alguna hay. Por ejemplo hay ciertas combinaciones de teclas que funcionan sólo cuando se está en la línea de comandos, o que en ella funcionan de manera distinta. Para pedir ayuda sobre el teclado en la línea de comandos hay que usar un prefijo 0 0«c_0 0» de la misma manera que hay que usarlo para pedir ayuda sobre el teclado en cualquier otro modo distinto del normal. En suma: si llamamos modo a una manera especial de funcionar que habilita ciertos comandos y que hace que Vim interprete de cierta manera lo que se teclea, que se inicia cuando en el modo normal se pulsa cierta tecla y que se termina cuando se pulsa ESC, no hay duda de que la pulsación de los dos puntos activa un verdadero modo.
En esta guía, sin embargo, hablaré de comandos de línea de comandos porque me es más sencillo hablar genéricamente de comandos y señalar que algunos empiezan por el carácter de los dos puntos. Y como, por otra parte, no se dedica ningún capítulo a la edición en la línea de comandos (esa es de las partes no tratadas en esta Guía), puedo hacerlo así tranquilamente.
Cuando en el modo normal pulsamos 0 0«:0 0» el cursor se traslada a la última
línea de la pantalla, escribe los dos puntos y espera a que escribamos el
nombre del comando, el cual no será ejecutado hasta que le indiquemos a Vim
que hemos terminado de escribir el nombre del comando con todos sus
argumentos, cosa que se hace pulsando INTRO.
Debido a que estos comandos se introducen siempre empezando por el
comando 0 0«:0 0», muchas veces se considera que los dos puntos forman parte
del nombre del comando. Y de hecho así lo haré yo en este manual, ya que
esa es una forma cómoda de indicar la naturaleza de un comando. Y así si
digo que hay que pulsar 0 0«daw0 0» significa que se trata de un comando
instantáneo. Pero si digo que hay que pulsar 0 0«:nohlsearch0 0» significa
que el comando es de línea de comandos y que por lo tanto no se
ejecutará hasta que pulsemos INTRO.
¿Sigue Vim algún criterio para hacer que ciertos comandos sean instantáneos
y otros no? La verdad es que sí lo sigue y en general los comandos de
línea de comandos lo son por alguno de los siguientes tres motivos.
Como aclaración de esta última afirmación diré que en principio cualquier
acción que realicemos sobre el texto puede ser deshecha mediante el comando
deshacer (0 0«u0 0») por lo que a Vim no le importa que algunos comandos
drásticos, como borrar, puedan ser ejecutados por error (tal vez por no
darnos cuenta de que estábamos en el modo de comando), ya que si eso
ocurriera podríamos deshacer lo mal hecho simplemente pulsando el comando
0 0«u0 0» (deshacer).
Pero hay comandos cuyo efecto no se puede deshacer como por ejemplo grabar
en disco los cambios hechos en el documento, o salir de Vim. Por eso
estos comandos, aunque sean de uso muy habitual, son comandos de línea de
comandos. Porque para ejecutarlos hay que empezar por escribir 0 0«:0 0»,
luego el nombre del comando y finalmente la tecla INTRO. Como, además,
mientras se escribe el nombre del comando lo escrito se refleja en la
última línea de la pantalla, es muy difícil que el comando llegue a
ejecutarse por error.
, página
.
Siguiente: Otras cuestiones relacionadas con
Subir: Comandos de Vim
Anterior: Comandos de ejecución inmediata
  Índice General
Cancerbero
2005-02-12