Lubię /* ... */
(komentarze C ansi), więc oto moja sztuczka dla ciebie. Oczywiście możesz go dostosować do użycia w różnych przypadkach.
Komentuj za pomocą / * ... * /
Wybierz tekst (przejdź do początku, uruchom blok wizualny, przeskocz za pomocą }
):
<c-V>}
Wpisz polecenie, które ma zostać zastosowane w zaznaczeniu
:norm i/* <c-v><esc>$a */
Polecenie będzie wyglądać następująco: :'<,'>norm i /* ^[$a */
Aby uzyskać szczegółowe informacje, patrz (i *).
Odkomentuj / * ... * /
Wybierz tekst (jak poprzednio lub w inny sposób):
<c-V>}
Wpisz polecenie, które ma zostać zastosowane w zaznaczeniu
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
Polecenie będzie wyglądać następująco: :'<,'>norm :s-\s*/\*\s*-^M$bbld$
Zobacz szczegóły (ii *).
Wynik
Efektem są komentarze wiersz po wierszu:
Comment block
Comment block
Comment block
Staje się (i odwrotnie):
/* Comment block */
/* Comment block */
/* Comment block */
Lepiej jest zapisać go jako część map
lub @reg
w swoim .vimrc
, ponieważ jest dużo do pisania. Jeśli wolisz pojedynczy /*
i */
cały blok, użyj:
Komentuj za pomocą jednego / * * / całego bloku
Zapisz go w rejestrze, nagrywając np. qc
Na początku akapitu, aby skomentować:
v}di/* */<esc>hhhp
i nie zapomnij q
ponownie, aby zakończyć rejestrację.
Zobacz szczegóły (iii *).
Odkomentuj pojedynczy / * * / z bloku
Zapisz go w rejestrze, mówią @u
. Umieść kursor w dowolnym miejscu bloku i:
?/\*<enter>xx/\*/<enter>xx
Zapisz rejestr, kończąc q
polecenie.
Szczegóły znajdują się w (iv *).
Wynik
Efekt to pojedynczy komentarz dla wielu linii:
Comment block
Comment block
Comment block
Staje się (i odwrotnie):
/* Comment block
Comment block
Comment block */
Objaśnienia
(i *) Działa przy użyciu, norm
który stosuje to samo polecenie wielokrotnie w każdej wybranej linii. Polecenie po prostu wstaw a /*
, znajduje koniec tej linii i kończy się wstawiając a*/
:norm i/* <c-v><esc>$a */
(ii *) Służy również norm
do powtarzania wyszukiwania / zamiany w każdej linii. Wyszukaj spaces /* spaces
i zamień na nic. Następnie znajduje koniec linii, cofnij dwa słowa, popraw literę, usuń do końca.
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
(iii *) Wybiera akapit poprzez v}
, usuń go, wstaw komentarz otwieraj i zamykaj, przejdź do jego środka i wklej usunięty blok.
v}di/* */<esc>hhhp
(iv *) Gdziekolwiek pośrodku, znajduje wstecz a /*
, usuwa je; znajduje do przodu a */
, usuwa go.
?/\*<enter>xx/\*/<enter>xx