2010-09-01 8 views

Respuesta

29

Puede usar los contenidos de cualquier registro en las líneas de comando ex o search con <C-R> seguido del nombre del registro. Al tirar de su selección visual, se coloca en el registro 0, por lo que <C-R>0 agregará su selección extraída a la línea de comandos actual.

Esa es la única forma que conozco, pero todavía la uso a diario.

+1

Tan simple ... ¡gracias! Principalmente compuse mi propia respuesta porque tenía curiosidad por mí mismo –

4

Hay algunas maneras en que se puede interpretar su pregunta. El más fácil es si quiere decir que quiere dar el texto seleccionado como un argumento de rango a un comando ex. Dudo que esto es su pregunta, ya que esto se produce automáticamente si escribe: con una selección visual, pero la sintaxis ex por este

:'<,'> 

La segunda manera Creo que su pregunta podría ser interpretado es que desea insertar la el texto visual seleccionado en sí mismo como un argumento para un comando ex; No creo que esto se pueda hacer. Si lee la sección manual de vim 40.2, donde se describen los argumentos de rango, lo único que un comando puede tomar de un argumento de rango es el número de la primera línea y la última (usando las etiquetas <line1> y <line2>).

Por último, si quieres plazo el texto seleccionado en la línea comando concha, todo lo que tiene que hacer es seleccionarlo y escriba

:!sh 

(La parte '<,'> hay que dejarse insertado para usted entre el: y el!. Puede reemplazar 'sh' con el comando para iniciar su shell favorito).

+1

Hola David, la segunda de las tres formas en que describes fue de hecho mi intención. es decir, a insertó el objeto seleccionado visualmente en la línea de comando, de la misma manera que inserta la palabra objeto. – Jeet

0

Sí, el registro * contiene la selección visual actual ...

Puede escribir <C-R>* conseguirlo desde el modo de comando de inserción o ...

Sin embargo, esto no es muy práctico para usarlo en una línea de comando, ya que no puede evitar el '<,'> al entrar en el modo de comando desde el modo visual

+10

No, el registro '*' no contiene necesariamente la selección visual actual. En general, el registro '*' contiene la selección X11, que puede ser totalmente diferente. En segundo lugar, puede usar '' para borrar la línea de comando (y eliminar '' <, '> ') –

Cuestiones relacionadas