ฉันกำลังดิ้นรนและต้องการสิ่งเดียวกันตั้งแต่ย้ายจาก Vim เป็น Emacs
หลังจากการวิจัยและการทดลองฉันมาถึงฟังก์ชั่นด้านล่างซึ่งอนุญาตให้คุณทำสิ่งเดียวกันกับที่ติดตั้งแพ็คเกจชั่วร้ายหรือใช้ Spacemacs
นอกจากนี้ยังทำงานร่วมกับภูมิภาคที่ใช้งาน (หรือการเลือกภาพในคำที่เป็นกลุ่ม) และที่ค่อนข้างมีประโยชน์ในการแทนที่คำเช่น abc-def-hij:
; replace current word or selection using vim style for evil mode
(defun evil-replace-word-selection()
(interactive)
(if (use-region-p)
(let (
(selection (buffer-substring-no-properties (region-beginning) (region-end))))
(if (= (length selection) 0)
(message "empty string")
(evil-ex (concat "'<,'>s/" selection "/"))
))
(evil-ex (concat "%s/" (thing-at-point 'word) "/"))))
จากนั้นใน init.el ของคุณให้กำหนดการเชื่อมโยงคีย์เดียวกัน:
(global-set-key (kbd "\C-co") 'evil-replace-word-selection)
ปุ่มลัดนั้นแตกต่างจากกลุ่มที่เรียกว่า "space z" เล็กน้อย แต่ฉันไม่ได้คิดวิธีแมปใน emacs เมื่อโหมดชั่วร้ายอยู่ที่นั่น อย่าบ่นไปเรื่อย ๆ และฉันก็ค่อนข้างใหม่กับ emacs แต่ก็ยังไม่เลวและตัวฉันเองก็มีความสุขกับการแก้ปัญหาในตอนนี้