15

私はEmacsでNerd Treeのようなものを手に入れようとしていて、基本的なemacsファイルナビゲーターのようなNavを見つけました。それは私に合っています。

問題は、Nav を開いてそのバッファに切り替えると、evil-mode がまだオンになっていてC-z、Nav 固有のコマンド (たとえば.for nav-toggle-hidden-files) を使用する場合に押す必要があることです。そして、それは私を悩ませます。

貼り付けて、その問題を修正しようとして数時間経ちました

(require 'evil)
    (evil-mode 0)

Navファイルのどこにでもありますが、明らかに私は間違っています..そして、他のプラグインを使用しているときに再び起こると確信しています..どうすればいいですか?

4

3 に答える 3

12

邪悪な wiki で説明されているように、evil -set-initial-state を確認してください。

私のemacs設定の関連部分は次のとおりです。

(evil-set-initial-state 'ibuffer-mode 'normal)
(evil-set-initial-state 'bookmark-bmenu-mode 'normal)
(evil-set-initial-state 'dired-mode 'emacs)
(evil-set-initial-state 'sunrise-mode 'emacs)

ただし、いつかこれらのモードでvimキーバインディングを使用したいという事実を緩和するものではありません...

于 2014-05-28T17:47:10.917 に答える
11

nav-modeEvil の通常の状態ではなく、Emacs の状態でバッファを開く必要があります。nav-mode実際に何と呼ばれているかはわかりませんが、次のようにして、それに応じてモードの名前を調整します。

(add-to-list 'evil-emacs-state-modes 'nav-mode)

于 2014-05-22T11:07:33.673 に答える
7

必要なのは「フック」です。これは、特定のモードをアクティブにするかどうかを Emacs に伝えるものです。

evilまたはnavモードは使用しませんが、次の行に非常に.emacsたものが必要です。

(add-hook 'nav-mode-hook 'turn-off-evil-mode)

このコマンドは、モード (フックは にリストされていますnav-mode-hook) がアクティブなときに関数 を実行するように Emacs に指示しますturn-off-evil-modenav-modeおよびの実装方法に応じて、フック リスト名またはコールバック関数名のいずれかを変更する必要がありますevil-mode

nav-mode-hooknav-modeフックリストと呼ばれるものについての私の推測です。うまくいかない場合は、nav-modeドキュメントを確認し、フックの追加方法を探してください。

于 2014-05-22T05:19:04.803 に答える