La solución que aprendí hoy (gracias a CMS que respondió this pregunta) es usar los movimientos de text object de VIM.
colocar el cursor en la entrada de la copia, y escriba lo siguiente en el modo de comando: yat
:
y
tirones acuerdo con el siguiente movimiento.
at
selecciona la etiqueta actual.
Tenga en cuenta que si el cursor está dentro de la etiqueta "ArrayType", eso es lo que se extraerá.
También tenga en cuenta que esto no arrastrará las líneas enteras. Solo desde la abrazadera de apertura de la etiqueta de apertura hasta la abrazadera de cierre de la etiqueta de cierre. Esto puede causar problemas de alineación si no tiene cuidado.
Una forma de evitar esto es pegando con :put
en lugar de simplemente p
, así: yat:put
.
Tenga en cuenta que esto no conservará la sangría, porque la entrada XML no se retiró como una línea completa.
Otra manera de hacerlo es: vatVy
:
v
entra en el modo visual.
at
es como el anterior.
V
cambia al modo Visual de línea y selecciona toda la línea.
y
yanks la selección.
¡Método impresionante! Estaba tratando de definir una nueva función vim, pero el objeto de texto parece ser lo suficientemente poderoso. –
puede ir directamente a linewise visual con V ... por ejemplo, Vaty sería suficiente para el segundo ejemplo – michael
sí, pero luego hacer 'at' me saca de Line Visual, y de todos modos tengo que presionar V otra vez.Me imagino que estoy mejor salteando el primer turno y simplemente presionando v –