2009-05-25 13 views
102

Quiero saber si hay alguna forma de pegar el texto extraído en la ventana de comandos. Por ej. si tiré una palabra y quiero grep en algún lugar, simplemente no puedo pegar la palabra con 'p'. Sin embargo, si lo copio en el portapapeles, Shift-Insert pegará lo mismo.Cómo copiar el texto extraído al símbolo del sistema VI

¿Hay alguna modificación disponible que me permita pegar texto extraído al símbolo del sistema de vim? Estoy usando gvim en Windows.

Respuesta

147

tratar de utilizar

<ctrl+r>" 

donde "es sinónimo de registro por defecto.

+7

Tenga en cuenta que esto también funciona en modo de inserción normal, no sólo en la línea de comandos. – user55400

+22

Si usa '*' en vez de '" ', obtendrá el contenido del portapapeles del sistema (lo que podría ser útil). –

34

<C-R>" pegará búfer predeterminado. Alternativamente, se puede utilizar q: para abrir un buffer para el siguiente comando. Tratar :help q:

+8

Mierda,' q: 'es asombroso – Hubro

12

En modo normal, presione :, luego ctrl-r, y luego ".

+2

Técnicamente, una vez que presiona:, ya no estás en modo normal. – graywh

+0

@graywh - ¡buen punto! – Rook

3

Puede arrastrar al portapapeles utilizando el * buffer con nombre. Por ejemplo, esto copiará la línea actual en el portapapeles:

"*yy 

para que pueda copiar una línea con esto y, a continuación, pegarla con el cambio de inserción en la línea de comandos.

Del mismo modo, se puede pegar desde el portapapeles como esto:

"*p 
2

del portapapeles +, en Mac por lo menos. Por lo tanto, debe escribir "+yy para marcar una línea en el portapapeles y "+p para pegar. Aunque siempre puedes usar Command-C y Command-V.

5

Si es sólo una palabra que desea copiar, puede utilizar <C-r><C-w>

  1. coloque el cursor sobre la palabra
  2. Entonces se puede escribir algo así como :vim <C-r><C-w> *
9

Para guardar es un paso de tirar, si su cursor está en la palabra que desea usar en Ex, use:

<ctl-r><ctl-w> 

Esto evita tirones para pegar en la línea de comando; en cambio, uno pega la palabra debajo del cursor directamente en la línea de comando. Ej .:

:%s/<ctl-r><ctl-w>/foo/g 
Cuestiones relacionadas