Làm cho vòng lặp cnext và cpreingly trở lại bắt đầu


11

Nếu tôi chạy :cnextkhi tôi đã ở cuối danh sách quickfix, tôi nhận được thông báo lỗi

E553: No more items

và không có gì xảy ra. Thay vì điều này, khi tôi nhập :cnextvào cuối danh sách, tôi muốn vim quay trở lại mục nhập quickfix đầu tiên. Có thể cấu hình vim cho hành vi này?


1
Đã trả lời nhiều lần trong quá khứ. Đây là một ví dụ.
Sato Katsura

Câu trả lời:


16

Bạn có thể viết một số lệnh:

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

Nếu ngoại lệ bị bắt, nó sẽ nhảy đến mục đầu tiên / cuối cùng. Bạn có thể sử dụng cabbrevđể không phải sử dụng các lệnh in hoa:

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

Đã cập nhật để xóa silent!vì nó khiến dòng trạng thái không cập nhật khi gói.
Tommy A
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.