next up previous contents
Siguiente: Otras cuestiones relacionadas con Subir: Comandos de Vim Anterior: Comandos de ejecución inmediata   Índice General

Comandos de línea de comandos

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»).

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.

  1. Porque son comandos demasiado poco habituales como para que merezca la pena tener asociados a ellos de modo permanente una tecla. A fin de cuentas las teclas a las que asociar comandos son pocas, y hay que pensar muy bien a qué comandos asociarlas. De hecho por defecto todas las teclas del alfabeto están asociadas a alguna acción. Véase al respecto la sección [*], página [*].

  2. Porque son comandos que requieren argumentos complejos; o más complejos que un simple argumento numérico y un ámbito de actuación, que son los únicos argumentos que admiten los comandos de ejecución inmediata.

  3. Porque son comandos que es peligroso que se puedan ejecutar por error.

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.


next up previous contents
Siguiente: Otras cuestiones relacionadas con Subir: Comandos de Vim Anterior: Comandos de ejecución inmediata   Índice General
Cancerbero 2005-02-12