Saya suka /* ... */(komentar C ansi), jadi ini trik saya untuk Anda. Anda dapat menyesuaikannya untuk digunakan dalam kasus yang berbeda, tentu saja.
Komentar dengan / * ... * /
Pilih teks (pergi ke awal, mulai blok visual, lompat dengan }):
<c-V>}
Ketik perintah yang akan diterapkan dalam seleksi
:norm i/* <c-v><esc>$a */
Perintah akan terlihat seperti: :'<,'>norm i /* ^[$a */
Lihat (i *) untuk detailnya.
Batalkan komentar pada / * ... * /
Pilih teks (seperti sebelumnya, atau dengan cara lain yang Anda suka):
<c-V>}
Ketik perintah yang akan diterapkan dalam seleksi
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
Perintah akan terlihat seperti: :'<,'>norm :s-\s*/\*\s*-^M$bbld$
Lihat (ii *) untuk detailnya.
Hasil
Efeknya adalah komentar baris demi baris:
Comment block
Comment block
Comment block
Menjadi (dan sebaliknya):
/* Comment block */
/* Comment block */
/* Comment block */
Lebih baik menyimpannya sebagai beberapa mapatau @regdi Anda .vimrc, karena banyak untuk mengetik. Jika Anda lebih suka satu /*dan */seluruh blok, gunakan:
Komentar dengan satu / * * / seluruh blok
Simpan di register dengan merekam, katakan qc,, lalu, di awal paragraf untuk berkomentar:
v}di/* */<esc>hhhp
dan jangan lupa qlagi, untuk menyelesaikan catatan.
Lihat (iii *) untuk detailnya.
Hapus komentar satu / * * / dari satu blok
Simpan dalam register, katakan @u,. Letakkan kursor Anda di mana saja di dalam blok, dan:
?/\*<enter>xx/\*/<enter>xx
Simpan register dengan menyelesaikan qperintah.
Lihat (iv *) untuk detailnya.
Hasil
Efek adalah komentar tunggal untuk banyak baris:
Comment block
Comment block
Comment block
Menjadi (dan sebaliknya):
/* Comment block
Comment block
Comment block */
Penjelasan
(i *) Ini bekerja dengan menggunakan normyang menerapkan perintah yang sama berulang kali di setiap baris yang dipilih. Perintah cukup memasukkan a /*, menemukan ujung garis itu dan selesai dengan memasukkan a*/
:norm i/* <c-v><esc>$a */
(ii *) Ini juga digunakan normuntuk mengulang pencarian / ganti pada setiap baris. Cari spaces /* spacesdan ganti tanpa apa-apa. Setelah itu, temukan ujung kalimat, kembalikan dua kata, kanan huruf, hapus sampai akhir.
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
(iii *) Memilih paragraf dengan v}, menghapusnya, menyisipkan komentar membuka dan menutup, pindah ke tengah dan tempel blok yang dihapus.
v}di/* */<esc>hhhp
(iv *) Di mana saja di tengah, temukan mundur a /*, hapus; menemukan maju */, menghapusnya.
?/\*<enter>xx/\*/<enter>xx