เมื่ออ่านความคิดเห็นของคุณเกี่ยวกับกรณีการใช้งานแล้วดูเหมือนว่าคุณสามารถใช้การจับคู่คีย์แทนมาโครได้
ฉันมีบรรทัดนี้ใน. vimrc ของฉัน (จำไม่ได้ว่าอยู่ที่ไหนฉันพบ):
nnoremap <Leader>s :%s/\<<C-r><C-w>\>//g<Left><Left>
มันมีผลคล้ายกับกรณีการใช้งานที่คุณอธิบายวางคุณลงบนบรรทัดคำสั่งดังนั้นสิ่งเดียวที่คุณต้องทำคือพิมพ์การแทนที่และกด Enter แต่ในกรณีนี้การแทนที่คำที่อยู่ใต้เคอร์เซอร์ของคุณทั้งหมด .
หากต้องการแทนที่ภายในบล็อกปัจจุบันฉันคิดว่าสิ่งต่อไปนี้ควรใช้งานได้:
nnoremap <Leader>s m'va{<ESC>``:'<,'>s/\<<C-r><C-w>\>//g<Left><Left>
แน่นอนคุณสามารถแมปกับสิ่งที่สำคัญที่คุณต้องการ
สิ่งที่ด้านบนทำ: ทำเครื่องหมายตำแหน่งปัจจุบันโดยใช้เครื่องหมายที่ไม่มีชื่อเลือกภาพบล็อกปัจจุบันออกจากโหมดภาพและกลับเคอร์เซอร์ไปยังตำแหน่งที่บันทึกไว้ (เครื่องหมายการเลือกภาพยังคงตั้งอยู่) เข้าสู่โหมดคำสั่งและพิมพ์คำสั่งแทน แทรกคำที่อยู่ใต้เคอร์เซอร์ด้วย<C-r><C-w>
และวางเคอร์เซอร์ของคุณเพื่อพิมพ์การแทนที่