Baru-baru ini saya melakukan banyak pengeditan teks di salah satu server saya (untuk aktivitas pemeliharaan) – di mana saya perlu mengoptimalkan ukuran file dengan menghapus semua yang memiliki pola tertentu, terkadang semua baris baris yang dikomentari dan terkadang semua baris yang tidak berisi pola tertentu.
Misalnya, salah satu server saya memiliki banyak akun pengguna yang dinonaktifkan (baris komentar di file /etc/passwd) – di mana saya harus menghapus semua akun yang dinonaktifkan tersebut (yang dikomentari) menggunakan vim. Inilah yang saya lakukan:
Catatan: Anda harus melakukan ini dalam mode perintah – ESC dan :
Jika Anda ingin menghapus semua baris komentar dari file , maka Anda harus menghapus baris yang dimulai dengan '#'.
:g/#/d
(atau)
:g/^\#/d
Asumsikan, Anda ingin menghapus semua baris yang cocok/berisi pola tertentu – maka perintahnya mirip dengan yang di atas. Misalnya:
:g/somepattern/d
Jika Anda ingin menghapus semua baris yang tidak mengandung pola tertentu , katakanlah tinggalkan semua baris komentar dan hapus sisanya. Cari simbol '!' pada perintah di bawah ini
:g!/#/d
Perintah di atas akan menghapus semua baris yang tidak dimulai dengan '#'. Atau, Anda dapat menggunakan perintah di bawah ini.
: v/#/d
Dalam perintah di atas, kami menggunakan 'v' sebagai ganti 'g' dan tidak ada '!' yang diperlukan.