Dalam vim saya dapat menghapus semua baris yang berisi kata "harga" dengan ini
:g /price/d
Bagaimana saya bisa menghapus semua baris yang TIDAK mengandung kata "harga"?
vim
regex
find-and-replace
digitaljoel
sumber
sumber
Jawaban:
Anda dapat gunakan
:%g!/price/d
untuk menghapus setiap baris yang tidak mengandung "harga"
sumber
:g!
juga dikenal sebagai:v
(mirip dengangrep -v
).%
dilakukan?%
adalah rentang khusus dalam konteks ini yang berarti keseluruhan file. Lihat:help cmdline-ranges
.%
bersifat opsional karena rentang default adalah seluruh buffer.Anda juga bisa menggunakan:
:v/price/d
untuk menghapus baris.
sumber
g
ini untuk "global" danv
untuk "terbalik" (jika Anda percaya apa yang Anda baca di vim.famdom).help :v
in vim mengkonfirmasikannyaadalah pilihan lain yang bisa jauh lebih cepat daripada
:v
untuk file besar.Diuji pada Vim 7.4, Ubuntu 14.04, file log baris 1M.
Baris yang berisi kata: https://stackoverflow.com/questions/1725265/how-can-i-delete-all-lines-that-do-not-begin-with-certain-characters/42714334#42714334
sumber