Panduan Linux

Search and Replace: Cara Mencari dan Mengganti Kata di Vim

Halo, para pengguna Vim! Kalian pasti sering banget nih ngerjain tugas atau nulis kode yang panjang-panjang. Nah, pasti ada dong momen di mana kalian perlu ganti satu kata atau frasa yang muncul berkali-kali di seluruh file. Repot banget kan kalo harus ganti satu per satu? Tenang aja, Vim punya fitur keren buat ngeganti kata atau teks secara massal, namanya Search and Replace.

Di artikel ini, kita bakal bahas gimana caranya pake fitur ini biar kerjaan kalian lebih cepet dan efisien. Yuk, simak!

1. Basic Search and Replace

Pertama-tama, kita mulai dari yang paling dasar dulu. Misalnya, kalian mau ganti semua kata “foo” jadi “bar” di seluruh file. Caranya gampang banget:

  1. Buka file di Vim.
  2. Tekan Esc buat pastiin kalian lagi di mode normal.
  3. Ketik :%s/foo/bar/g terus tekan Enter.

Penjelasan:

2. Confirm Before Replacing

Kadang-kadang, kita pengen liat dulu teks yang mau diganti biar nggak salah. Nah, Vim bisa kasih opsi buat konfirmasi sebelum ngeganti. Caranya, tambahin c di akhir perintah:

:%s/foo/bar/gc

Nanti, Vim bakal nunjukkin setiap kemunculan “foo” dan nanya apa mau diganti atau nggak. Kalian bisa pilih:

Kalo kalian nggak peduli sama huruf besar atau kecilnya, bisa pake \c di pattern. Misalnya:

:%s/foo\c/bar/g

Ini bakal ngeganti “foo”, “FOO”, “fOo”, dll., jadi “bar”.

4. Mengganti di Baris Tertentu

Kalo kalian cuma mau ganti di baris-baris tertentu, ganti % dengan range barisnya. Misalnya, mau ganti dari baris 10 sampe 20:

:10,20s/foo/bar/g

Atau, kalo mau ganti dari baris sekarang sampe akhir file:

:.,$s/foo/bar/g

5. Menggunakan Regular Expressions

Vim juga support regular expressions buat pattern yang lebih kompleks. Misalnya, mau ganti semua angka jadi “NUM”:

:%s/\d\+/NUM/g

Penjelasan:

Atau, misalnya mau ganti semua kata yang diawali “prefiks” jadi “sufiks”:

:%s/prefiks\(\w\+\)/sufiks\1/g

Penjelasan:

6. Mengganti dengan Baris Baru

Kadang, kita perlu ngeganti teks sama baris baru. Di Vim, baris baru direpresentasiin pake \r. Misalnya, mau ganti semua koma jadi baris baru:

:%s/,/\r/g

7. Menggunakan Register untuk Teks Pengganti

Kalo kalian mau pake teks yang udah disalin (yank) sebagai teks pengganti, bisa pake register. Misalnya, kalian udah nyalin teks “hello” ke register a (pake "ayy buat yank satu baris ke register a), trus mau ganti semua “foo” jadi “hello”:

:%s/foo/\=@a/g

Penjelasan:

8. Mengganti Hanya di Dalam Visual Selection

Kalo kalian mau ngeganti cuma di bagian yang udah dipilih pake visual mode, caranya:

  1. Pilih teks pake v, V, atau Ctrl + v.
  2. Tekan : buat masuk ke command mode. Nanti muncul :'<,'>.
  3. Lanjutin pake perintah replace biasa, misalnya s/foo/bar/g.

9. Mengganti di Banyak File

Kalo kalian mau ngeganti teks di banyak file sekaligus, bisa pake :argdo atau :bufdo. Misalnya, mau ganti “foo” jadi “bar” di semua file .txt:

  1. Buka semua file .txt di direktori saat ini: :args *.txt
  2. Jalankan :argdo %s/foo/bar/g | update

Penjelasan:

10. Menggunakan History Perintah

Kalo kalian sering pake perintah replace yang mirip-mirip, bisa pake history perintah buat ngehemat waktu. Tekan q: buat buka jendela history perintah, trus pilih perintah yang mau dipake lagi.

Nah, itu dia beberapa cara pake fitur search and replace di Vim. Dengan fitur ini, kalian bisa ngeganti teks secara massal dengan cepat dan efisien. Selamat mencoba!

#Vim #Tutorial