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 map
atau @reg
di 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 q
lagi, 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 q
perintah.
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 norm
yang 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 norm
untuk mengulang pencarian / ganti pada setiap baris. Cari spaces /* spaces
dan 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