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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.