2010-06-22 9 views

Respuesta

22

Además de las situaciones en las que las fuerzas de signo de exclamación cosas, como las escrituras, se encenderá un comando en un comando de alternar. Entonces si lo hago:

:set cursorline 

se resaltará la línea en la que mi cursor está activado. Puedo apagarlo con:

:set nocursorline 

O podría hacer:

:set cursorline! 

ese comando alterna entre las dos configuraciones, de vez en cuando.

Giro y desactive frecuentemente la línea de cursor, y el comando de alternar me permite hacerlo con un simple mapeo de teclas de función. Sin el interruptor, necesitaría dos asignaciones: una para encenderla y otra para apagarla. O tendría que escribir una función para determinar si la configuración de la línea de cursor estaba activada o desactivada, y luego activar la configuración opuesta.

Esto funciona con, por lo que yo sé, todos los ajustes de línea de comandos que tienen dentro y fuera de la configuración, como hlsearch, pasta, cursorcolumn, número, INSEARCH, etc.

Tenga en cuenta también que el signo de exclamación alternará la no versión del comando. Por ejemplo, también se puede alternar la configuración de línea de cursor con:

:set nocursorline! 
33

El! el calificador le dice a Vim que fuerce la operación. Por ejemplo, si el archivo fuera de solo lectura, usaría: w! para escribirlo de todos modos. Si el archivo se modificó y deseaba salir sin guardar, usaría: q !. : wq! solo significa forzar escritura y salir en un comando.

+0

Sí recientemente he cambiado mi mapeo: Ctrl + S solía ser: actualización y ahora es: w !, porque tengo una lista de sólo archivo persistente . ¿Tendría problemas en el futuro debido a ese cambio? – alexchenco

+2

@janoChen, sí, usarás 'Ctrl-S' y no practicarás': w! 'Suficiente :) – OscarRyz

+0

@janoChen: Ctrl + S no parece tener una asignación predeterminada, por lo que debería haber no hay problema en otro lado.Su único problema podría ser guardar accidentalmente sobre un archivo de solo lectura que no desea sobrescribir. –

22

El signo de exclamación generalmente significa forzar alguna acción.

Otro uso de la marca de exclamación: ! seguido de algún comando ejecuta este comando directamente desde el editor.

:! ls /etc 
9

Realmente depende del comando considerado. En cuanto a los que ha enumerado, fuerza el comando ya que otros ya le han respondido.

Sin embargo, hay otros comandos como :global, :map, :make, :silent, ..., donde la explosión (!) tiene otros efectos. Leer su documentación:

:help help 

(y podemos dar el golpe de cualquier significado que queremos en los comandos que definimos)

Cuestiones relacionadas