cnextおよびcpreviousループを最初に戻す


11

:cnextクイックフィックスリストの最後にいるときに実行すると、エラーメッセージが表示されます

E553: No more items

そして何も起こりません。これの代わりに:cnext、リストの最後に入力すると、vimが最初のquickfixエントリに循環して戻ります。この動作のためにvimを構成することは可能ですか?


1
過去に何度も答えました。 ここに一例を示します。
佐藤桂

回答:


16

いくつかのコマンドを書くことができます:

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

例外がキャッチされると、最初/最後の項目にジャンプします。あなたは使用することができcabbrevますが、大文字のコマンドを使用する必要はありませんので。

cabbrev cnext Cnext
cabbrev cprev CPrev
cabbrev lnext Lnext
cabbrev lprev Lprev

silent!ラップ時にステータス行が更新されない原因となっていたため、削除して更新しました。
トミーA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.