Lo sé
di<
se eliminará en una etiqueta HTML.
¿Hay una manera fácil de eliminar texto entre dos etiquetas?
<span>How can I delete this text?</span>
¡Gracias!
dit
eliminará el texto entre las etiquetas XML coincidentes. ( it
es para "bloque de etiqueta interior").
Ver :h it
y :h tag-blocks
.
cit
cuando quieras escribir inmediatamente después.vat
(ovit
), seguido de repetidosat
(oit
) para seleccionar progresivamente las etiquetas circundantes. (Ov2at
, etc.) Luegod
para eliminar (etc.).Dos de los mejores comandos habilitadores de productividad de vim.
Ahorro mucho tiempo y esfuerzo solo con esos dos.
fuente
cit
está cubierto en este hilo, pero para la posteridad,ci"
se eliminará hasta el siguiente"
encontrado. ideal para cambiar nombres de clase en etiquetas html, como<span id="really long annoying-id">
: con el cursor al principio"
, presionaci"
y suelta para insertar nuevos caracteres entre las comillas.ciw
también es útil ya que elimina la palabra actual; Lo uso más quecit
y enci"
realidad.ci"
realidad eliminará el texto a la izquierda hasta la próxima cita y a la derecha hasta la próxima cita y luego ingresará al modo de inserción.ct"
En realidad, es el comando para "borrar hasta la próxima" encontró" Pero sí, se comporta de la misma si el cursor está en la cita izquierda..intente dt < mientras el cursor está en el primer carácter para eliminar. En tu ejemplo la 'H'.
fuente
( cursor en el primer carácter a eliminar ) v / <[enter] d
Esta solución comienza con el primer carácter, luego ingresa al modo visual ("v"). Luego busca el siguiente paréntesis de inicio ("/ <"), y luego presiona enter para salir de la búsqueda.
En este punto, su selección visual cubrirá el texto a eliminar. presione d ("d") para eliminarlo.
Si tuviera que hacer esto para un montón de etiquetas, grabaría el comando y lo combinaría con otras búsquedas para que sea repetible. La secuencia de teclas podría verse así:
[ cursor al inicio del archivo ] qa /> [enter] lv / <[enter] dnq
entonces presione:
20 @ a
hacer esto por 20 etiquetas
fuente
c/<[enter]
mucho, en mi "vida de Vim", pero ahora estoy un poco arrepentido por eso. Verá, la mayoría de los complementos de "modo Vi" para otros editores / IDE populares no son compatibles con este tipo específico de comando. Apoyancit
,ci"
,ct<
y sin embargo. Entonces, estoy volviendo a enseñar de nuevo.Si tiene la intención de hacer lo contrario a eliminar texto entre banderas, sugiero instalar Vim-Surround y ejecutar, lo
dst
que elimina la etiqueta surroundfuente