2009-03-19 31 views
13

Tôi có cảnh báo tôi không thể xóa dễ dàng khỏi bản dựng của mình, mỗi khi tôi chạy ": make" từ bên trong vim, quickfix đưa tôi đến một số tệp tiêu đề mà tôi không quan tâm trong khoảng. Làm thế nào tôi có thể ngăn VIM thực hiện việc này và chỉ hiển thị cho tôi các cảnh báo và lỗi mà tôi quan tâm?Ngăn chặn: thực hiện trong VIM từ cảnh báo

Trả lời

3

Cách nhanh chóng và dơ bẩn là viết một kịch bản lệnh shell đơn giản để chạy lệnh tạo và greps ra các cảnh báo bạn không muốn thấy. Sau đó, có vim sử dụng kịch bản này thay vì thực hiện (Thêm "set makeprg = yourscript.sh" vào .vimrc của bạn).

7

Kiểm tra :h 'errorformat' (aka &efm), có các tùy chọn để bỏ qua cảnh báo miễn là bạn có thể nhận ra chúng bằng mẫu.

2

Tìm hiểu từ chính Bram.

Tôi có thể mơ hồ nhớ anh ấy nói về điều này ở đâu đó trong this video.

Anh ấy thêm bộ lọc để bỏ qua một số cảnh báo gnome khi anh ấy biên dịch gvim.

Video cũng đáng xem.

Đó là khoảng mốc 30 phút.

+0

Liên kết đã chết. – mknaf

10

Như Luc Hermite cho biết, có thể bỏ qua cảnh báo bằng cách sử dụng tùy chọn 'errorformat'. Điều chỉnh tùy chọn này hơi phức tạp một chút; nó có thể hữu ích để kiểm tra $VIMRUNTIME/compiler cho một số ví dụ.

Khi làm việc với avr-gcc và C++ một số cảnh báo khó chịu như thế này

tests.cpp:492: warning: only initialized variables can be placed into program memory area 

xuất hiện, và nó có khả năng là kết quả của một compiler fault.

Để tránh điều đó cảnh báo này được hiển thị trên cửa sổ QuickFix Tôi đã thêm video này vào ~/.vimrc:

compiler gcc 
set errorformat^=%-G%f:%l:\ %tarning:\ only\ initialized\ varia 
      \bles\ can\ be\ placed\ into\ program\ memory\ area 

Các %-G có thể được dùng để xác định các mẫu để được bỏ qua. ^= trong set errorformat^=... được sử dụng để thêm mẫu cảnh báo bị bỏ qua vào 'errorformat' - sử dụng += (set errorformat+=...) sẽ thêm vào tùy chọn và không hoạt động, như 'errorformat' là danh sách định dạng và kết quả phù hợp đầu tiên được sử dụng. mẫu cảnh báo "bình thường" sẽ được áp dụng thay thế.

Có thể bạn có thể điều chỉnh các cài đặt này cho môi trường của mình.

2

Để xây dựng dựa trên những gì mMontu đề nghị, bổ sung này để vimrc của tôi đã làm các trick cho tôi (bỏ qua tất cả các cảnh báo từ trình biên dịch gcc của tôi)

bộ errorformat^=% - G% f:% l: \ cảnh báo :% m

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