html - run - vim intro
Eliminar texto entre etiquetas HTML en vim? (5)
Lo sé
di<
se eliminará en una etiqueta HTML en sí.
¿Hay alguna manera fácil de eliminar texto entre dos etiquetas?
<span>How can I delete this text?</span>
¡Gracias!
( cursor en el primer caracter para borrar ) v / <[enter] d
Esta solución comienza en el primer personaje, luego ingresa al modo visual ("v"). Luego busca el siguiente paréntesis inicial ("/ <") y luego presiona enter para salir de la búsqueda.
En este punto, su selección visual cubrirá el texto para eliminar. presione d ("d") para borrarlo.
Si tuviera que hacer esto para un montón de etiquetas, registraría el comando y lo combinaría con algunas otras búsquedas para hacerlo repetible. La secuencia de teclas puede verse así:
[ cursor al inicio del archivo ] qa /> [enter] lv / <[enter] dnq
entonces presione:
20 @ a
para hacer esto por 20 etiquetas
Si intenta hacer lo contrario de eliminar texto entre banderas, le sugiero que instale Vim-Surround y que ejecute dst
que borra la etiqueta de sonido envolvente.
intente dt < mientras el cursor está en el primer carácter para eliminar. En tu ejemplo, la ''H''.
dit
eliminará el texto entre las etiquetas XML coincidentes. (es para "bloque de etiqueta interno").
Ver :h it
y :h tag-blocks
.
cit
ci"
Dos de los mejores comandos habilitadores de productividad de vim.
Ahorro mucho tiempo y esfuerzo con solo esos dos.