Saya sering menggunakan /
perintah vim search untuk memverifikasi ekspresi reguler saya (hanya untuk melihat apa yang cocok). Setelah itu saya biasanya menggunakan :%s
perintah replace, di mana saya menggunakan regexp dari pencarian sebagai string yang akan diganti, misalnya saya pertama kali mencari string tersebut:
/TP-\(\d\{5\}\)-DD-\d\{3\}
Ini cocok persis dengan apa yang saya inginkan, jadi saya melakukan penggantian:
:%s/TP-\(\d\{5\}\)-DD-\d\{3\}/\1/g
Tapi saya harus menulis lagi seluruh regexp di sini. Biasanya regexp itu jauh lebih lama, itu sebabnya saya mencari solusi:
Apakah ada skrip shortcut atau vim yang ada untuk menempelkan pola pencarian secara langsung ke perintah replace?
Saya menggunakan vim di terminal (tidak ada gvim).
sumber
/
untuk memasukkan konten register pola pencarian (/
) langsung ke baris perintah yang diketik sebagian (misalnya tepat setelah:%s/
).\9
, tidak ada ambiguitas.Cara lain yang baik untuk melihat pencarian regex sebelumnya serta perintah Ex dan melakukan perubahan padanya adalah dengan mengedit perintah ini dalam mode normal. Dari Mode ini, Anda akan memiliki semua kekuatan vim Anda termasuk salin dan tempel.
?
atau/
untuk mencari, cobaq/
atauq?
:
mencobaq:
Untuk membaca lebih lanjut, lihat
:help q:
.sumber