Một cách tiếp cận tùy thuộc vào trường hợp sử dụng của bạn sẽ được sử dụng vimgrep và kết quả của nó trong QuickFix. Bạn có thể làm như sau:
:vimgrep pattern %
sẽ tìm kiếm tệp hiện tại và đưa bạn đến kết quả tìm kiếm đầu tiên. Quan trọng hơn nó cũng đặt kết quả trong danh sách "quickfix".
:copen
sau đó sẽ mở danh sách quickfix trong cửa sổ nhanh riêng biệt. Vì vậy, bạn sẽ có một cửa sổ riêng biệt với tất cả các dòng từ vimgrep cuối cùng của bạn. Bên trong cửa sổ quickfix, bạn có thể nhấn Enter hoặc nhấp đúp vào một dòng để chuyển đến dòng tương ứng trong tệp gốc của bạn.
:colder
sẽ cho phép bạn quay lại danh sách nhanh nhanh hơn (kết quả cũ hơn). Và :cnewer
chuyển tiếp đến các kết quả tìm kiếm mới hơn.
Lưu ý rằng danh sách quickfix cũng được cập nhật khi chạy :make
(đó là lý do tại sao nó được gọi là quickfix để sửa lỗi). Bởi vì điều này cũng có một thay đổi cho danh sách quickfix được gọi là "danh sách vị trí". Để sử dụng thay vào đó, bạn sử dụng :lvimgrep
, sau đó sử dụng các lệnh được đặt trước tiền tố thay vì các lệnh có tiền tố c - :lopen
, :lolder
, :lnewer
.
Có, tất nhiên, bạn có thể làm được nhiều việc hơn. Xem :help quickfix
để biết thêm thông tin.
PS, Bạn cho biết bạn không muốn một phương pháp xóa đường và sau đó hoàn tác chúng. Nhưng kể từ khi bạn đánh dấu g/ERROR
là câu trả lời tôi nghĩ tôi sẽ chỉ ra một cách nhanh chóng và bẩn thỉu là làm g!/ERROR/d
. Sau đó bạn có thể dễ dàng hoàn tác nó bằng cách sử dụng u
. Ngoài ra, bạn có thể làm :set hlsearch
để làm nổi bật các mẫu khớp với các lệnh :g
.
http://vi.stackexchange.com/q/2280/12111 – graceman9