2

Ctrlキーを押す代わりに、通常の悪モードのキーよりも、スペースバーを押してから別のキーを押すことができるようにしたいと思います。

たとえば、これは私が.emacsファイルで定義し始めたものです。

(define-key evil-normal-state-map " ww" 'evil-window-next)
(define-key evil-normal-state-map " wr" 'evil-window-rotate-downwards)
(define-key evil-normal-state-map " wR" 'evil-window-rotate-upwards)
(define-key evil-normal-state-map " wo" 'delete-other-windows)
(define-key evil-normal-state-map " wn" 'evil-window-new)
(define-key evil-normal-state-map " wl" 'evil-window-right)
(define-key evil-normal-state-map " wh" 'evil-window-left)
(define-key evil-normal-state-map " wj" 'evil-window-down)
(define-key evil-normal-state-map " wk" 'evil-window-up)

これまでのところ、キーシーケンスは特定の関数としてのみ定義でき、Ctrlなどの単独では使用されないものとしては定義できないようです。C-"that key"スペースバーの後に別のキーが続くのが、通常の悪の状態のモードのいずれかと同等になるように、これを行う一般的な方法はありますか?

4

1 に答える 1

2

私は悪について具体的な答えを出せるほど詳しくありませんが、試してみてください。

(define-key function-key-map " " 'event-apply-control-modifier)
(define-key evil-normal-state-map " " nil)

バインディングfunction-key-mapは、他のすべてのマップで SPC が「バインドされていない」場合にのみ有効になるため、nil にバインドするだけではevil-normal-state-map不十分な場合があります。それ以外の場合はkey-translation-mapの代わりに使用できるfunction-key-mapため、書き換えは通常の SPC バインディングよりも優先されますが、Evil の通常状態を開始/終了するときにこのバインディングを有効/無効にする方法を理解する必要があります。

于 2013-01-22T19:43:34.823 に答える