Tôi đã vật lộn và muốn điều tương tự kể từ khi chuyển từ Vim sang Emacs.
Sau một số nghiên cứu và thử nghiệm, tôi đã tìm ra chức năng dưới đây cho phép bạn thực hiện điều tương tự với gói Evil được cài đặt hoặc sử dụng spacemacs.
Nó cũng hoạt động với vùng hoạt động (hoặc lựa chọn trực quan theo thuật ngữ vim) và điều đó có thể khá hữu ích để thay thế từ như 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) "/"))))
sau đó trong init.el của bạn, xác định ràng buộc khóa tương tự:
(global-set-key (kbd "\C-co") 'evil-replace-word-selection)
keybinding hơi khác so với vim là "space z" nhưng tôi chưa tìm ra cách ánh xạ nó trong emacs khi chế độ tà ác ở đó. tiếp tục phàn nàn không phải là tiền tố, v.v. và tôi còn khá mới với emacs. Nhưng vẫn không quá tệ và bản thân tôi hài lòng với giải pháp này vào lúc này.