ทำให้ cnext และ cprevious loop กลับไปที่จุดเริ่มต้น


12

ถ้าฉันทำงาน:cnextเมื่อฉันอยู่ท้ายรายการด่วนฉันได้รับข้อความแสดงข้อผิดพลาด

E553: No more items

และไม่มีอะไรเกิดขึ้น แทนที่จะเป็นเช่นนี้เมื่อฉันเข้าไป:cnextที่ส่วนท้ายของรายการฉันต้องการให้กลุ่มกลับไปรอบ ๆ ไปยังรายการ quickfix แรก เป็นไปได้ที่จะกำหนดค่ากลุ่มสำหรับพฤติกรรมนี้หรือไม่?


1
ตอบไปแล้วหลายครั้งในอดีต นี่คือตัวอย่างหนึ่ง
Sato Katsura

คำตอบ:


17

คุณสามารถเขียนคำสั่ง:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.