Dengan mencari, saya telah menyoroti string yang ingin saya ubah. Sekarang saya ingin mengganti hanya teks yang disorot. Saya menggunakan n
untuk maju ke contoh berikutnya dari string pencarian. Saya berpikir saya bisa melakukan sesuatu seperti ciw
tetapi itu mengubah seluruh kata tidak hanya teks yang disorot.
Saya kenal :%s/old/new/g
tetapi saya tidak ingin mengubah semua instance. Sebagai gantinya, saya ingin memajukan kursor saya ke setiap instance dan kemudian memutuskan apakah akan mengubahnya.
gn
, jadi inilah metode serupa yang baru saja saya temukan:c//e<CR>FooBar<Esc>//<CR>
:%s/oldtext/newstuff/g
akan mengubah semua kecocokanoldtext
menjadinewstuff
..
beberapa kali, saya bisa menggunakan:%norm .
( sumber ).Jika Anda sudah mencari kata dengan
/word
atau?word
.Anda dapat menggunakan
:%s//newword/gc
untuk mengganti kata yang sebelumnya Anda carinewword
, dengan membiarkan istilah pencarian (s//..
) kosong.The
c
flag mengatakan bahwa setiap perubahan harus dikonfirmasi, dengan menekany
untuk ya ataun
tanpa.Lihatlah
:help :s_flags
untuk informasi lebih lanjut tentang bendera konfirmasi.sumber
l
,a
danq
(atau<Esc>
) untuk berbagai cara untuk menyelesaikan siklus konfirmasi.Metode # 1
Anda dapat memanfaatkan
gn
dangN
memetakan untuk mencapai apa yang Anda inginkan.gn
akan mencari istilah pencarian yang terakhir digunakan dan secara visual memilih kecocokan.gN
melakukan hal yang persis sama, kecuali pencarian mundur. Ketika dikombinasikan dengan operator sepertic
, operator akan diterapkan ke pertandingan, Misalnya, jika string pencarian terakhir Anda adalah "foo" dan Anda mengetikcgn
, itu akan mencari maju untuk contoh "foo" berikutnya, menghapusnya, dan menempatkan Anda dalam mode sisipkan untuk memasukkan teks pengganti.Untuk lebih lanjut tentang ini, lihat
:help gn
dan:help gN
.Metode # 2
Anda dapat menggunakan
:substitute
perintah denganc
bendera. Ini akan meminta Anda untuk mengkonfirmasi setiap substitusi. Misalnya, Anda ingin mengganti foo dengan bilah di seluruh file, tetapi ingin mengonfirmasi setiap penggantian:Untuk lebih lanjut tentang ini, lihat topik bantuan ini:
:help :s_flags
,:help cmdline-ranges
, dan:help :substitute
.sumber