Come posso selezionare il contenuto di un tag HTML in Vim?


43

È possibile selezionare il contenuto di un tag HTML in Vim?

Per esempio:

<p>I am a silly butterfly</p>

Vorrei selezionare "Sono una farfalla sciocca".

So che è possibile utilizzare vi"per selezionare il testo tra virgolette, parentesi, ecc. Il problema qui è che il testo all'interno dei tag HTML non è realmente all'interno di qualcosa per cui posso usare la ifunzione.

Risposte:


68

È possibile utilizzare vitper vselezionare singolarmente il testo ina tag. Vedere

:help v_it

2
Perfezionare! Scriverò un post su questo nel mio blog, non ho trovato nulla su Google con "Vim che seleziona i contenuti dei tag html" e altri.
fholgado,

Puoi anche sostituire vmolti altri comandi, che uso spesso cper cappendere; >e <per correggere il rientro.
dukedave,

8
@ hobbes3: per includere i tag nella selezione, utilizzare vat. Penso a itcome in un tag e atcome un tag. Vedere :help at.
garyjohn,

1
Sono l'unico il cui vim seleziona il tag di apertura con vit? Mi dà fastidio da anni e non ho idea del perché Vim lo faccia.
Jonathan Dumaine,

2
Nota che puoi anche usare entrambe le volte più volte, ad es. vatat
user1338062,

6

Ecco i passaggi:

  1. Posiziona il cursore sul tag.
  2. Accedere alla modalità visiva premendo v.
  3. Selezionare il blocco tag interno premendo i+ t(o a+ tper il blocco tag esterno).

at un <tag> </tag>blocco (con tag)

it<tag> </tag>blocco interno

Vedi di più su " Come saltare tra i tag HTML / XML corrispondenti? ".


0

Se il formato è ben rientrato in questo modo,

<div>
  <p>
    I am a silly butterfly
  </p>
  <p>
    I am a silly butterfly
  </p>
</div>

Puoi usare il plugin vim-indent-object e digitarevii

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.