Odpowiedzi:
dit
usunie tekst między pasującymi tagami XML. ( it
oznacza „wewnętrzny blok znaczników”).
Zobacz :h it
i :h tag-blocks
.
vat
(lub vit
), a następnie powtórz at
(lub it
), aby stopniowo wybierać otaczające znaczniki. (Lub v2at
itp.). Następnie, d
aby usunąć (itp.).
cit
ci"
Dwa z najlepszych poleceń vim zwiększających produktywność.
Oszczędzam dużo czasu i wysiłku tylko z tymi dwoma.
cit
jest objęty tym wątkiem, ale dla potomności ci"
usunie aż do następnego "
znalezionego. świetnie nadaje się do zmiany nazw klas w tagach html, na przykład <span id="really long annoying-id">
- z kursorem na początku "
naciśnij ci"
i upuść do wstawiania nowych znaków między cudzysłowami.
ciw
jest również przydatny, ponieważ usuwa bieżące słowo; Używam go częściej niż cit
i ci"
faktycznie.
ci"
faktycznie usunie tekst po lewej stronie do następnego cytatu i po prawej do następnego cytatu, a następnie przejdzie do trybu wstawiania. ct"
jest właściwie poleceniem "usuń aż do następnego" znalezionego ". Ale tak, zachowuje się tak samo, jeśli kursor znajduje się pod lewym cudzysłowem.
try dt <, gdy kursor znajduje się na pierwszym znaku do usunięcia. W twoim przykładzie „H”.
( kursor na pierwszym znaku do usunięcia ) v / <[wprowadź] d
To rozwiązanie rozpoczyna się od pierwszego znaku, a następnie przechodzi w tryb wizualny („v”). Następnie wyszukuje następny nawias początkowy („/ <”), a następnie naciśnij klawisz Enter, aby zakończyć wyszukiwanie.
W tym momencie twój wizualny wybór zakryje tekst do usunięcia. naciśnij d („d”), aby go usunąć.
Gdybym musiał to zrobić dla kilku tagów, nagrałbym polecenie i połączyłbym je z innymi wyszukiwaniami, aby było powtarzalne. Sekwencja klawiszy może wyglądać następująco:
[ kursor na początku pliku ] qa /> [enter] lv / <[enter] dnq
następnie wciśnij:
20 @ a
aby to zrobić dla 20 tagów
c/<[enter]
w moim „życiu Vimów”, ale teraz trochę tego żałuję. Widzisz, większość wtyczek „trybu Vi” dla innych popularnych edytorów / IDE nie obsługuje tego konkretnego typu poleceń. Wspierają one cit
, ci"
, ct<
a jednak. Więc ponownie uczę.
Jeśli chcesz zrobić odwrotność usuwania tekstu między flagami, sugeruję zainstalowanie Vim-Surround i uruchomienie, dst
które usuwa tag surround
cit
gdy chcesz napisać zaraz potem.