2011-06-15 30 views
25

Khi xử lý xung đột hợp nhất, thông thường >>>>>>====== được chèn bởi DCVS không chính xác về cú pháp đối với tệp tôi đang dùng và hiển thị dưới dạng được đánh dấu bằng màu đỏ. Khi giao dịch với các xung đột hợp nhất, sẽ hữu ích khi có các lệnh để nhảy tới các lỗi này. Khi tôi nhập :cnext Tôi chỉ nhận được thông báo "Không có lỗi". Đây là những xung đột Mercurial sáp nhập vì vậy tôi không thể sử dụng Fugitive, nhưng tôi thường thích chỉnh sửa xung đột hợp nhất bằng tay anyway.Chuyển đến lỗi/mã tiếp theo được đánh dấu màu đỏ

Có cách nào để chuyển sang lỗi cú pháp tiếp theo trong tệp không? Tôi nghĩ rằng những lỗi này được quyết định bởi tệp tô sáng cú pháp.

Trả lời

35

Bạn có thể sử dụng :lopen để mở cửa sổ chứa các dòng lỗi/cảnh báo. Sau đó, điều hướng đến từng người trong số họ.

Câu trả lời thực tế là bạn có thể sử dụng :lnext để nhảy tới lỗi tiếp theo, hoặc :lprev, hoặc ]l[l (đó là những Ls chữ thường) nếu bạn có vim-unimpaired, mà bạn làm, bởi vì bạn không nên sử dụng Vim mà không có nó.

Điều này sẽ không thực sự chuyển đến nhóm văn bản được đánh dấu màu đỏ/lỗi tiếp theo, nhưng sẽ chuyển đến bất kỳ plugin cú pháp nào của bạn là lỗi (và điền danh sách vị trí). Đó là không thể trong Vim để chuyển đến một nhóm làm nổi bật cụ thể, bởi vì không ai bận tâm tìm ra cách thức.

Plugin SRDispHiGrp đến gần, nhưng nếu bạn không thể nói từ tên, thì quá phức tạp và khó hiểu đối với việc sử dụng của con người.

1

Dựa trên a question tại đây trên StackOverflow, plugin called SrchRplcHiGrp này sẽ giúp bạn thực hiện sứ mệnh của mình.

+0

Dường như plugin đó chỉ cho phép bạn tìm kiếm các ký tự bên trong nhóm đánh dấu, không chỉ là nhóm đánh dấu. Nó cũng trông rất khó hiểu. –

11

Tôi nghĩ bạn đã đi đúng hướng với :cnext.

:cnext:cprevious là các lệnh Vim QuickFix; bạn có thể tận dụng chúng bằng cách sử dụng plugin xác thực mã sử dụng chế độ QuickFix, như pyflakes.vim cho Python và jslint.vim/jshint.vim cho JavaScript.

Điều này sẽ dẫn đến lỗi cú pháp được đánh dấu bằng gạch dưới màu đỏ nhạt, trái ngược với lỗi cú pháp màu đỏ chắc chắn làm nổi bật tôi tin rằng bạn đang nhìn thấy. Sau đó, bạn có thể sử dụng :cnext:cprevious để bỏ qua các lỗi được đánh dấu tiếp theo và trước đó.

Các vấn đề liên quan