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)
キーバインドは「スペースz」であるvimのものとは少し異なりますが、邪悪なモードがあるときにemacsでそれをマッピングする方法がわかりません。接頭辞などではなく文句を言い続けると私はemacsに比較的新しいです。しかし、それでもそれほど悪くはないので、私は現時点でこのソリューションに満足しています。