Buat cnext dan cprevious loop kembali ke awal

12

Jika saya menjalankan :cnextketika saya sudah di akhir daftar perbaikan cepat saya mendapatkan pesan kesalahan

E553: No more items

dan tidak ada yang terjadi. Alih-alih ini, ketika saya masuk :cnextdi akhir daftar, saya ingin vim untuk berputar kembali ke entri perbaikan cepat pertama. Apakah mungkin mengkonfigurasi vim untuk perilaku ini?

lassassink
sumber
1
Sudah dijawab berkali-kali di masa lalu. Ini salah satu contohnya.
Sato Katsura

Jawaban:

17

Anda dapat menulis beberapa perintah:

command! Cnext try | cnext | catch | cfirst | catch | endtry
command! Cprev try | cprev | catch | clast | catch | endtry

command! Lnext try | lnext | catch | lfirst | catch | endtry
command! Lprev try | lprev | catch | llast | catch | endtry

Jika pengecualian tertangkap, ia melompat ke item pertama / terakhir. Anda dapat menggunakan cabbrevsehingga Anda tidak harus menggunakan perintah huruf besar:

cabbrev cnext Cnext
cabbrev cprev CPrev
cabbrev lnext Lnext
cabbrev lprev Lprev
Tommy A
sumber