1. ホーム
  2. emacs

[解決済み] イービルモードのベストプラクティス?[クローズド]

2022-10-03 23:28:35

質問

私は何年もVimをメインのエディタとして使っていて、その間何度かEmacsを試しました。そして、私は 邪悪な を発見し、それが私のスピーディーな動作の要求を十分に満たしていると判断し、ついにEmacsに移行することができました。

では、Evilユーザーの皆さん、Emacsの通常の機能とどのように統合していますか?このモードと他のモードとの間で何か衝突がありましたか?このトピックについて、共有する価値のある経験やヒントがあれば教えてください。

どのように解決するのですか?

私は高度にカスタマイズされた vim を使っていましたが、今はさらにカスタマイズされた emacs を使っています。キーマッピングのすべてのインスタンスは、私のキーマッピング設定ファイルにあると思います。 https://github.com/mbriggs/.emacs.d-oldv2/blob/master/init/init-keymaps.el

本当のemacsユーザが異端だと思うようなことを書き直しているので、もしあなたがquot;real" emacsを学びたいならYMMVです(私は本当にそうではありません)。

元vimmerに勧めたいことのひとつは、これです。

;;; esc quits
(defun minibuffer-keyboard-quit ()
  "Abort recursive edit.
In Delete Selection mode, if the mark is active, just deactivate it;
then it takes a second \\[keyboard-quit] to abort the minibuffer."
  (interactive)
  (if (and delete-selection-mode transient-mark-mode mark-active)
      (setq deactivate-mark  t)
    (when (get-buffer "*Completions*") (delete-windows-on "*Completions*"))
    (abort-recursive-edit)))
(define-key evil-normal-state-map [escape] 'keyboard-quit)
(define-key evil-visual-state-map [escape] 'keyboard-quit)
(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit)
(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit)

で、esc は実際にはほとんど何でも終了します (ミニバッファの保留中のプロンプトのように)。