Tutorial VIM : “Search” dan “Replace”

Vim merupakan editor yang sangat diandalkan untuk melakukan pengeditan konfigurasi dan administrasi melalui konsol. Terutama ketika kita bekerja dengan jarak jauh ‘remote. Jika kita tidak sedang remote mungkin banyak yang lebih memilih menggunakan gedit untuk melakukan pengeditan, karena menggunakan GUI yang lebih familiar bagi sebagian orang yang tidak bekerja dengan konsol.

Salah satu yang mungkin membingungkan dalam penggunaan Vim adalah cara untuk mencari suatu kata/string dan menggantinya dengan yang lain (search dan replace). Tentu saja mencari dan mengganti suatu kata dalam file konfigurasi secara manual satu persatu sangat merepotkan, apalagi jika banyak kata yang berulang dan biasanya sebuah file konfigurasi tidak pendek, kalau manual apa bedanya dengan mesin tik 🙂

Berikut sedikit tips untuk mensearch dan mereplace kata yang diinginkan dengan Vim.

Untuk mencari sebuah string kita bisa menggunakan perintah /caristring untuk mencari string caristring dengan pencarian forward. Untuk pencarian dengan metode backward bisa menggunakan perintah ?caristring

Setelah menjalankan perintah tersebut kita bisa menggunakan perintah n untuk mengulangi pencarian, dan N untuk mengulangi ke sebelumnya.

Jika kita ingin mencari sebuah string dan ingin menggantinya dengan yang lain, kita bisa menggunakan perintah :[range]s/search/replace penggunaan range adalah optional, jika kita hanya menggunakan perintah s/search/replace akan mencari hanya di line yang sekarang digunakan dan hanya akan mengganti string yang ditemukan pertama kali.

Untuk melakukan pencarian dalam file yang bersangkutan kita bisa menggunakan % :

:%s/search/replace/g

dalam perintah diatas g adalah “global option” agar bisa mengganti semua string yang sesuai yang ditemukan. Tanpa menambahkan g kita hanya akan mengganti setiap string yang pertama kali ditemukan dalam setiap baris.

Untuk memperoleh konfirmasi sebelum Vim mengganti string tersebut, tambahkan pilihan confirm (c) diakhir perintah :%s/search/replace/gc ketika dijalankan kita akan mendapat konfirmasi sebagai berikut :

replace with foo (y/n/a/q/l/^E/^Y)?

Keterangan :

y=yes

n=no

a=untuk memerintahkan kursor Vim maju dan mengganti semua string yang sesuai

q= (quit) untuk keluar

l= (last) untuk terakhir merubah lalu keluar

^E dan ^Y untuk scroll teks menggunakan Ctrl-e dan Ctrl-y.

Semoga bermanfaat!

(src:linux.com)