Я боровся і хотів того ж, що з моменту переходу з Vim до Emacs.
Після деяких досліджень та експериментів я придумав функцію, яка дозволяє вам робити те ж саме, що встановлено з пакетом Evil або з використанням Spacemacs.
Він також працює з регіоном активним (або візуальним виділенням у терміні vim), і це може бути дуже корисно замінити таке слово, як 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)
прив'язка клавіш дещо відрізняється від vim, який є "пробілом", але я не зрозумів, як відобразити це в emacs, коли злий режим є. продовжуйте скаржитися не на префікс тощо, і я відносно новачок у emacs. Але все-таки не надто погано, і зараз я задоволений цим рішенням.