8

私は vi から emacs に移行していますが、viper と vimpulse を使用すると、ウィンドウに移動するとかなり面倒になりC-w C-w、同じコマンドで元のウィンドウに戻ることができません。バイパーモードで。どうすればこれを修正できますか?

他のモードを viper 構成に追加し、フックを使用してデフォルトで viper モードで開始するようにしました。

(リストに追加 viper-vi-state-mode-list 'help-mode)
(add-hook 'help-mode (lambda () (setq viper-mode t)))

しかし、これらのコマンドはどれも機能しませんでした。実際、最初のものでは次のエラーが発生しました。

警告 (初期化): `/home/konrad/.emacs.d/init.el' の読み込み中にエラーが発生しました:

間違った型引数: symbolp, (fundamental-mode ...

以外にC-w C-w、hjkl を使用してナビゲートできないことも恋しいです。モードごとにキーバインドを再バインドする代わりに、viper によって設定されたキーバインドを再利用する方法はありませんか?

4

2 に答える 2

3

フックを help-mode に追加するための構文は次のようになります。

(add-hook 'help-mode-hook (lambda () (viper-mode t)))

フック変数は「-hook」で名前が付けられていることに注意してください。 setq はviper-mode変数ではなくコマンドであるため、ここでは機能しません。

次のコマンドを使用して、すべてのモードでバイパーをアクティブ化できる場合があります。

(add-hook 'fundamental-mode-hook (lambda () (viper-mode t)))

すべてのモードは基本モードから継承するためです。

于 2009-12-06T17:28:40.910 に答える
3

viper-vi-state-mode-listエラーは、次のように変数を引用しなかったためです。

(add-to-list 'viper-vi-state-mode-list 'help-mode)

引用する必要がある理由については、この質問を参照してください'viper-vi-state-mode-list

しかし、それは私にとって問題を解決しませんでした。これが私がC-w C-wあなたが望むように仕事をする方法です:

(define-key help-mode-map (kbd "C-w C-w") 'vimpulse-cycle-windows)
于 2009-12-06T17:29:30.557 に答える