2010-02-18 35 views
9

Al presionar p se pega las cosas debajo de la línea actual, dit elimina las cosas dentro de las etiquetas html. ¿Cómo pego algo dentro de las etiquetas html?¿Cómo pegar algo entre las etiquetas html en Vim?

Nor here 
<p>I want to paste something here</p> 
    Not here 
+0

Minúscula 'p' pone texto después del cursor, mayúscula' P' pone texto antes del cursor. ¿Movió el cursor antes de poner el texto? http://vimdoc.sourceforge.net/htmldoc/change.html#put –

Respuesta

10

El resultado de presionar P y p depende de lo que tenga en el registro seleccionado en ese momento. Si elimina o un tirón a una o más líneas enteras (por ejemplo, con dd, Y o Vd comandos), y luego pulsando P insertará el contenido de su registro en la línea por encima de la línea actual, mientras que p insertará en la línea por debajo de la cursor.

Si elimina o un tirón a una sección de texto de menos de una línea (por ejemplo, con la D o yw comandos), entonces P insertará el contenido de su registro directamente antes de la posición actual del cursor, y p se inserte directamente después el cursor (es decir, en la misma línea).

Si le ayuda, usted podría considerar la selección linewise como análogo a bloque de elementos HTML (como <div>), y la selección characterwise como análogo a la línea elementos HTML (como span).

Para responder a su pregunta: depende. Supongamos que tiene una sección de texto en línea en el registro, le conviene dividir la etiqueta de destino en dos líneas antes de realizar la operación de pegado. En su ejemplo, en lugar de hacer dit para eliminar el contenido de la etiqueta, haga cit para eliminar la misma sección y entrar en modo de inserción. Presione return una vez, para insertar una nueva línea, luego esc para volver al modo normal, luego P para insertar su registro en línea arriba de la línea con la etiqueta de cierre.

Si no deseaba dividir la etiqueta en varias líneas, en su lugar debería asegurarse de que retiró una selección de caracteres en el registro. Posteriormente, se podría ejecutar:

"_ditP 

"_ borra el texto en el agujero negro registro, asegurando que no sobrescribe el contenido de su registro por defecto. dit borra el contenido de la etiqueta y P pega el contenido de su registro predeterminado antes de la posición del cursor.

0

Puede pulsar "v" para Visual, a continuación, ir a donde está el cursor, y pulse p o P.

2

eliminar el contenido actual entre las etiquetas con el comando

cit 

que lo hará 'cambio en las etiquetas' y una vez que el contenido se ha ido, se puede pegar con el botón central o si necesita volver al modo comando y use su p/etc normal.

1

vitp debe manejar una pasta linewise.

11

Normalmente hago vitp que selecciona visualmente el contenido interno de la etiqueta, luego pega sobre lo que está seleccionado.

Funciona para mí.

Cuestiones relacionadas