Vim automatycznie wstawia komentarz, gdy rozpoczynam nowy wiersz od skomentowanej linii, ponieważ ustawiłem formatoptions=tcroql. Na przykład (kursor jest * ):
// this is a comment*
i po uderzeniu <Enter> (tryb wstawiania) lub o (tryb normalny) pozostało mi:
// this is a comment
// *
Ta funkcja jest bardzo przydatna przy pisaniu długich komentarzy wieloliniowych, ale często po prostu chcę komentarza z jedną linią. Teraz, jeśli chcę zakończyć serię komentarzy, mam kilka opcji:
- trafienie
<Esc>S - trafienie
<BS>trzy razy
Oba zapewniają trzy naciśnięcia klawiszy, razem z <Enter> Oznacza to cztery naciśnięcia klawiszy dla nowej linii, co uważam za zbyt wiele. Idealnie chciałbym po prostu trafić <Enter> po raz drugi pozostanie z:
// this is a comment
*
Ważne jest, aby rozwiązanie działało również z różnymi poziomami wcięć, tj.
int main(void) {
// this is a comment*
}
trafienie <Enter>
int main(void) {
// this is a comment
// *
}
trafienie <Enter>
int main(void) {
// this is a comment
*
}
Myślę, że widziałem tę funkcję w jakimś edytorze tekstu kilka lat temu, ale nie pamiętam, który to był. Czy ktoś wie o rozwiązaniu, które zrobi to dla mnie w Vimie? Bardzo mile widziane są również wskazówki dotyczące właściwego toczenia własnego rozwiązania.