2010-06-14 6 views
6

Al pegar desde el buffer del sistema en una línea como¿Cómo hacer pasta en línea desde el búfer del sistema en Vim?

foo(someVal , <cursor is here>, someVal3); 

Si uso "* p consigo

foo(someVal, , someVal3); 
<pasted text> 

Si uso" * PI llegar

<pasted text> 
foo(someVal, , someVal3); 

pero quiere

foo(someVal, <pasted text>, someVal3); 

¿Cómo puedo obtener el resultado que quiero?

edición

Si hay una nueva línea en el búfer como @amardeep sospechosos, hay una manera que puedo decir vim ignorarlo?

Respuesta

5

Puede escribir <C-r>* en modo de inserción y luego usar <BS> para eliminar arrastrando nueva línea.

+0

Esto funcionó, gracias. –

2

Utilice mayúscula P en lugar de minúscula p en ese comando.

+0

y el texto pegado está sobre la línea. Actualizando pregunta con ejemplo. –

+0

Funcionó bien cuando lo probé. El texto en su búfer puede tener nuevas líneas en él. –

+0

nuevas líneas estarían bien, al menos daría como resultado código sintácticamente correcto :) –

0

"*p o "+p trabaja para mí. ¿Estás seguro de que eso es lo que estás escribiendo en realidad?

+0

sí, estoy seguro. –

Cuestiones relacionadas