Ada banyak metode untuk mencari dan mengganti kata dalam satu file.

Disini kita akan melakukannya dengan Vim dan tidak hanya satu file yang akan kita eksekusi - melainkan banyak file.

Pertama, kita perlu find untuk mencari file yang ingin kita ubah - perintah find dapat dirangkai secara efektif dan ini sebenarnya hanya dibatasi oleh imajinasi kita.

Penggunaan find untuk menemukan file Markdown:

find . -name '*.md'

find sh Jalankan find --help untuk melihat banyak pilihan.

Setel lebih lanjut pencarian dengan menggunakan grep - untuk mendapatkan file yang hanya berisi teks yang ingin kita ubah, dengan menambahkan:

grep -le '\<png\>' #bukan untuk dieksekusi

Ambil contoh kita akan mencari dan mengubah teks png menjadi webp.

Eksekusi keinginan kita dengan gabungan perintah find dan grep:

vim `find . -name '*.md' -exec grep -le '\<png\>' {} \;` #perintah untuk mencari file yang hanya berisi string 'png' di dalamnya.

find-grep Sekarang kita dapat menerapkan perintah Vim bufdo ke semua file terpilih dan melakukan tindakan pencarian dan penggantian teks dari png menjadi webp:

:bufdo %s/png/webp/gce

bufdo huruf c berguna untuk konfirmasi perubahan teks yang dapat kita pantau langsung.

Setelah selesai, simpan pekerjaan dengan perintah:

:bufdo wqa!

Dinikmati ya


Referensi: How to Search-and-replace Across Multiple Files in Vim