Cari dan ganti Vim

Vim Search Replace



Vim adalah editor teks canggih dan populer yang sudah diinstal sebelumnya di sebagian besar distribusi Linux. Ini adalah editor teks berbasis baris perintah yang sebagian besar digunakan dalam sistem operasi berbasis non-GUI. Ini sangat dapat dikonfigurasi dan dilengkapi dengan banyak fitur. Poin penting tentang Vim adalah sangat dioptimalkan untuk pengulangan.

Pada artikel ini, kami akan menjelaskan salah satu fitur yang paling berguna yaitu pencarian dan penggantian. Dengan beberapa konfigurasi, Anda dapat mencari apa pun yang Anda inginkan dengan kecepatan tinggi dan dengan perincian yang lebih baik.







Metode #1 Temukan dan Ganti Satu Kejadian Sekaligus (Menggunakan perintah garis miring dan titik)

Cara paling sederhana untuk mencari dan mengganti kata di Vim adalah dengan menggunakan perintah slash dan dot. Garis miring (/) dapat digunakan untuk mencari kata sedangkan titik (.) dapat digunakan untuk mengganti kata tersebut.



Ikuti langkah-langkah sederhana di bawah ini untuk mencari dan mengganti kata apa pun di editor Vim:



  • Buka file di Vim
  • Tekan tombol slash (/) bersama dengan istilah pencarian seperti / search_term dan tekan Enter. Ini akan menyorot kata yang dipilih.
  • Kemudian tekan keystroke cgn untuk mengganti kata yang disorot dan masukkan replace_term
  • Kembali ke mode normal. Selanjutnya, tekan n untuk pindah ke kemunculan berikutnya dari istilah pencarian.
  • Kemudian tekan titik (.) jika Anda ingin mengganti kemunculan berikutnya dengan replace_term yang sama jika tidak, tekan lagi tombol n untuk pindah ke kemunculan berikutnya.

Ini adalah metode tercepat dan terbaik untuk pencarian dasar dan menggantikan fungsi karena hanya melibatkan beberapa penekanan tombol dan sedikit gangguan pada pekerjaan Anda saat ini. Namun, untuk mencari kata yang muncul terlalu sering, itu akan menjadi tugas yang berulang dan memakan waktu.





Dengan Vim, ada cara lain yang lebih baik untuk menghindari tugas berulang ini yaitu menggunakan perintah pengganti.

Metode #2 Temukan dan Ganti menggunakan perintah Pengganti

Perintah pengganti dapat digunakan untuk melakukan pencarian dasar hingga lanjutan dan mengganti fungsi dengan satu perintah. Sintaks untuk perintah ini adalah:



$:S/<istilah_pencarian> /<ganti_istilah> /pilihan

Perhatikan bahwa Anda harus memasukkan perintah ini dalam mode normal.

Di mana

  • S: singkatan dari pengganti
  • search_term: kata yang ingin Anda cari dan ganti
  • replace_term: kata yang ingin Anda ganti dengan
  • Opsi: c (untuk konfirmasi), g (ganti semua kemunculan dalam satu baris), i (untuk mengabaikan kasus)

Cari dan Ganti

Untuk melakukan pencarian dasar dan mengganti menggunakan perintah pengganti, gunakan sintaks berikut:

:%S/<istilah_pencarian> /<ganti_istilah> /G

Perintah ini akan menggantikan semua contoh search_term dengan replace_term.

Misalnya, ini adalah contoh teks kami:

Ubuntu adalah salah satu OS Linux yang paling banyak digunakan. Ubuntu menyertakan ribuan program yang berguna. Dengan baris perintah Ubuntu, Anda dapat menyelesaikan hampir semua jenis tugas.

Untuk mengganti setiap kemunculan Ubuntu dengan Debian dalam teks berikut, perintah berikut akan digunakan:

:%S/Ubuntu/Debian/G

Cari dan Ganti dalam satu baris

Untuk mencari dan mengganti kemunculan kata hanya dalam satu baris alih-alih seluruh file, gunakan sintaks berikut:

:S/<istilah_pencarian> /ganti_istilah/G

Misalnya, untuk mengganti kemunculan Ubuntu dengan Debian dalam contoh teks di atas, perintah berikut tanpa simbol % akan digunakan:

:S/Ubuntu/Debian/G

Cari dan Ganti dengan Konfirmasi

Jika Anda ingin dimintai konfirmasi sebelum mengganti istilah pencarian, gunakan c di akhir perintah pencarian sebagai berikut:

:S/<istilah_pencarian> /<ganti_istilah> /gc

Perintah di atas akan meminta konfirmasi sebelum setiap penggantian (Masukkan y untuk ya sedangkan n untuk tidak).

Cari dan Ganti huruf besar-kecil

Saat Anda melakukan pencarian dan penggantian di Vim, secara default peka huruf besar-kecil. Anda dapat melakukan pencarian case-sensitive dengan menambahkan i di akhir perintah sebagai berikut:

:S/<istilah_pencarian> /<ganti_istilah> /memberi

Misalnya, untuk mencari istilah Ubuntu terlepas dari kasusnya (UBUNTU, Ubuntu, ubuntu, uBuntu), perintah berikut akan digunakan:

:S/ubuntu/debian/memberi

Cari dan ganti seluruh kata

Secara default, pencarian perintah pengganti untuk setiap kecocokan apakah itu sebagian atau penuh. Untuk mencocokkan istilah_pencarian yang tepat dan kemudian menggantinya dengan istilah_pengganti, sertakan _istilah pencarian di dalam .

Misalnya, di beberapa dokumen, Anda ingin mencari dan mengganti kata yang sama persis dengan saya. Dalam hal ini, perintah berikut akan digunakan:

:S/<Anda> /Saya/

Ini akan menemukan kata Anda dan menggantinya dengan saya. Namun, itu tidak akan menggantikan kata-kata seperti milikmu.

Cari dan Ganti Kata di antara Baris tertentu

Untuk mencari kata di antara baris tertentu, bukan hanya satu baris atau seluruh file, sintaks berikut dapat digunakan:

:<garis awal>,<end_line>S/<istilah_pencarian> /<ganti_istilah> /G

Misalnya, untuk mencari dan mengganti kemunculan Ubuntu dengan Debian dari baris mulai dari 3 hingga 8 di beberapa file, perintahnya adalah:

:1,10s/ubuntu/debian/G

Untuk mencari dan mengganti kemunculan kata dari baris saat ini ke x jumlah baris berikutnya, sintaks berikut akan digunakan:

:S/istilah_pencarian/ganti_istilah/gx

Demikian pula, untuk mencari dan mengganti kemunculan kata dari baris saat ini ke baris terakhir: sintaks berikut akan digunakan:

:.,$s/istilah_pencarian/ganti_istilah/G

KESIMPULAN

Dalam artikel ini, kita telah mempelajari dua cara baris perintah untuk mencari dan mengganti kata apa pun di editor Vim. Perintah pertama yang menggunakan garis miring dan titik adalah cara yang paling sederhana dan mudah tetapi ternyata berulang ketika Anda mencari dan mengganti kata yang terlalu sering muncul. Perintah lain yang merupakan perintah substitusi sekali mungkin tampak sulit dan rumit, tetapi begitu Anda mulai mempraktikkannya, Anda akan merasa sangat berguna dalam berbagai skenario.