0

私の MacBook には 2 つのエンター キーがあります。

  1. 一つはリターン
  2. もう 1 つは、右側のコマンド キーのすぐ横に配置されたエンター キーです。

最近Emacs24を使い始めました。viper-mode でコマンドを発行するたびに、次のように気づきました。

M-x toggle-viper-mode

Return キーが機能しません。代わりにエラーが発生します。

Wrong type argument: characterp, return

fn+returnまたはCtrl+mまたはを使用する必要がありenterます。

viper-mode を無効にするとreturn、エラーは発生しません。

Gnu Emacs メーリング リスト アーカイブのソリューションを使用してみましたが、うまくいきませんでした。

(define-key function-key-map [return] [?\C-m])

return キーが viper-mode のコマンドでも機能するように修正するにはどうすればよいですか?

アップデート

viper-mode がロードされていない場合のリターン キーの Ch k の結果。

<return> runs the command autopair-newline, which is an interactive Lisp function in `autopair.el'.
It is bound to RET, <return>.

viper-mode がロードされていない場合のエンター キーに対する Ch k の結果。

RET (translated from <kp-enter>) runs the command autopair-newline, which is an interactive Lisp function in `autopair.el'.
It is bound to RET, <return>

viper-mode が読み込まれたときのリターン キーの Ch k の結果。

<return> runs the command autopair-newline, which is an interactive Lisp function in `autopair.el'.
It is bound to RET, <return>.

viper-mode がロードされているときの Enter キーに対する Ch k の結果。

RET (translated from <kp-enter>) runs the command autopair-newline, which is an interactive Lisp function in `autopair.el'.
It is bound to RET, <return>.

上記のようにマッピングは似ていますが、問題は viper-mode がロードされているときにミニバッファで return キーが機能しないことです。

4

1 に答える 1

1

そのためautopair-newline、viper-mode では正しく動作していないようです。その関数のソースは、「RET」キーボードバインディングの特別な処理を持っていることを示しています。

于 2012-06-06T12:54:35.980 に答える