Odpowiedzi:
Potrzebujesz niesamowitej i obowiązkowej wtyczki surround . Następnie z radością zrobi to, co chcesz, jeśli zaznaczysz tekst i napiszesz Sb
(nawiasy klamrowe) lub S)
(zwróć uwagę na duże S!).
W rzeczywistości potrafi dużo otaczać: różne cudzysłowy, tagi itp. Pozwala umieścić kursor w słowie z podwójnym cudzysłowem i zmienić podwójne cudzysłowy na pojedyncze cudzysłowy, wpisując: cs"'
(zmień otaczanie "
na '
). Lub możesz całkowicie usunąć cytaty, wpisując ds"
(delete-surround "
).
Przeczytaj dokumentację przez link, to naprawdę niesamowite!
sb
(nawiasy klamrowe) lub s)
.
s
powoduje jedynie usunięcie zaznaczenia i przejście do trybu wstawiania.
Oprócz sugestii Dmitry'ego dotyczącej wtyczki surround , dodawanie nawiasów wokół podświetlonego tekstu można wykonać za pomocą następującego polecenia:
xi()<Esc>P
Możesz ustawić mapę w trybie wizualnym, używając (na przykład) \s
, dodając następujące elementy do ~/.vimrc
pliku:
xnoremap <leader>s xi()<Esc>P
V
zamiast v
). W tym przypadku po prostu wkleja linie poniżej twoich parens.
Lewe nawiasy po prostu wiążą się, (
aby otoczyć zaznaczenie nawiasami. W przeciwieństwie do surround , nie jest zgodny z typową dla Vima filozofią kluczowania. Zamiast tego wymaganych jest mniej kluczy.
W przeciwnym razie istnieje wiele sposobów postępowania. Jeśli nie masz nic przeciwko zepsuciu nienazwanego rejestru, możesz również użyć s(^R")<esc>
( ^R
jak CTRL-R
)
Opierając się na odpowiedzi dotancohens, umieszczam w moim .vimrc
:
xnoremap <leader>( <ESC>`>a)<ESC>`<i(<ESC>
Możesz łatwo tworzyć podobne odwzorowania dla [], {} itd. Działa to poprzez przeskakiwanie do początkowych i końcowych znaczników domyślnie ustawionych po zakończeniu trybu wizualnego. W ten sposób zaznaczenie całych linii doda pareny na początku / końcu pierwszej / ostatniej linii; nie zastąpi twojego rejestru szarpnięć; i opuści kursor tuż przed otwierającym paren.