Làm cách nào để xóa tất cả các dòng KHÔNG chứa một từ nào đó trong Vim?


116

Trong vim tôi có thể xóa tất cả các dòng có chứa từ "price" với điều này

:g /price/d

Làm cách nào tôi có thể xóa tất cả các dòng KHÔNG chứa từ "giá"?


1
Câu hỏi này có thể được chuyển sang vi.stackexchange.com không? Tôi đã cố gắn cờ để di chuyển nhưng không thể tìm ra.
Mu Tâm

@MuMind Đây là chủ đề ở đây, vì vậy không cần phải di chuyển . " Đừng di chuyển vì mục đích di chuyển. Chúng tôi chỉ di chuyển các câu hỏi vì chúng không có chủ đề trên trang web gốc . Hoàn toàn có thể đặt câu hỏi về chủ đề trên nhiều trang web, nhưng đó không phải là lý do để di chuyển nó ở nơi khác, trừ khi OP yêu cầu di chuyển. " Ngoài ra, chỉ nhân viên SE mới có thể di chuyển sau 60 ngày và rất hiếm khi họ (thậm chí người điều hành không thể di chuyển một câu hỏi cũ).
8bittree

Câu trả lời:


157

Bạn có thể dùng

:%g!/price/d

để xóa mọi dòng không chứa "giá"


3
Tôi biết nó sẽ dễ dàng ...
digitaljoel

35
:g!còn được gọi là :v(giống như grep -v).
Chris Johnsen

3
Làm gì %?
hà mã

4
%là một phạm vi đặc biệt trong ngữ cảnh này có nghĩa là toàn bộ tệp. Xem :help cmdline-ranges.
Heptite

1
%là tùy chọn vì phạm vi mặc định là toàn bộ bộ đệm.
stillanoob


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