2010-07-16 36 views
26

Tôi biết rằng khi bạn chạy: thực hiện trong vim, bạn có thể sử dụng lệnh để đi qua từng lỗi như: cn và: cp. Tuy nhiên, tôi thường thấy mình cuộn qua các cảnh báo mà tôi không cần phải sửa chữa. Có cách nào để thoát khỏi cuộn qua các lỗi/cảnh báo và tiếp tục chỉnh sửa không? (Tôi đã nghe nói rằng bạn có thể thiết lập Vim để bỏ qua cảnh báo, nhưng tôi đã nói với nó là khó khăn vì vậy tôi đang tìm kiếm một cái gì đó dễ dàng hơn).Làm thế nào để thoát khỏi Vim quickfix?

Trả lời

51

Bạn có thể close the quickfix window bằng cách chạy:

:ccl[ose] 

Nếu bạn muốn một lần nữa (mà không cần phải chạy :make), bạn có thể chạy:

:cope[n] 

Ngay cả khi cửa sổ QuickFix không hiển thị, bạn vẫn có thể di chuyển về phía trước và ngược lại qua các mục trong đó bằng các lệnh :cn:cp.

Cá nhân, tôi tìm thấy các lệnh :cn:cp khá mất thời gian để nhập, vì vậy tôi khuyên bạn nên ánh xạ chúng đến một cái gì đó thuận tiện hơn nếu bạn sử dụng chúng thường xuyên. Plugin unimpaired cung cấp sensible mappings for moving through the quickfix list:

[q :cprevious 
]q :cnext 
[Q :cfirst 
]Q :clast 
5

Tôi thường thấy mình di chuyển qua cảnh báo rằng tôi không cần phải sửa chữa

Hai giải pháp:

  • sự rất rất giải pháp tốt nhất: Đặt trình biên dịch của bạn thành cấp cảnh báo cao nhất và thay đổi mã của bạn để nhận được ri d của tất cả các cảnh báo.

  • Giải pháp rất tồi tệ nhất: Đặt 'errorformat' để cảnh báo không bị trúng. Xem : giúp định dạng lỗi. Làm thế nào để làm điều này là cụ thể cho định dạng đầu ra trình biên dịch của bạn.

Có cách nào để bỏ di chuyển qua các lỗi/cảnh báo và tiếp tục chỉnh sửa?

Hmmm, có thể tôi nhận được câu hỏi của bạn sai nhưng tôi sẽ làm theo cách này: Mở ít nhất hai cửa sổ. Một cho thấy các erros/cảnh báo (cửa sổ quickfix) và khác hiển thị mã của bạn. Chỉ cần thay đổi tiêu điểm từ cửa sổ mã nhanh sang mã số theo thứ tự để tiếp tục nhập mã.

8

Nếu bỏ từ cửa sổ đó là tất cả bạn muốn, bạn có thể làm như gợi ý ở trên

:ccl 

hoặc thậm chí chỉ đơn giản là

:q 

trong cửa sổ lỗi. Hoặc bạn chỉ cần chuyển đổi cửa sổ ctrl-w+w ctrl-w+k ...

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