質問

私はemacsを学び、viカスタムキーバインディングを取得しようとしています。

バイパーモードを使用して、キーを再バインドする正しい方法は何ですか? (私は(qwertyの代わりに) Colemakキーボードレイアウトを使用しているので、n-> jのようなものを変更する必要があります)しかし、ヴァイパーモードで動作するように。

GNU.orgのこのキーバインディングガイドから: http://www.gnu.org/software/emacs /manual/html_node/viper/Key-Bindings.html

.viperファイルに入れるコマンドは次のとおりです。 ジェネラコディセタグプレ

それは私には機能しません...実際、私が「define-key」機能を持っているかどうかさえわかりません... ジェネラコディセタグプレ

私のバージョンのemacsで「define-key」が利用できるかどうかわかりませんか?

これは機能しますが、バイパーモードでは機能しません ジェネラコディセタグプレ

どんな助けでも大歓迎です。これはEmacsを使用する最初の日です。Colemak&Viperモードを正しく機能させるのは苦痛です。

助けてくれてありがとう...

役に立ちましたか?

解決

うまくいけば、ここにいくつかの有用な答えがあります:

まず、.viperにその行を含めるとうまくいきます。 viper-vi-global-user-mapは、挿入モードではなく、コマンドモードのときに適用されることに注意してください。

次に、define-keyはコマンドではなく、通常の関数です。つまり、 M-x を使用して呼び出すことはできません。この違いの詳細については、この Emacswikiページを参照してください。しかし、それは良い試みでした。

第3に、global-set-key コマンドです。 M-xglobal-set-key を使用して変更を試みることができます。ただし、これにより、現在のグローバルマップにキーが設定されます。 、これはviper-vi-global-user-mapと同じではありません。 Viper-modeは、さまざまなキーマップを使用してEmacsをviのように動作させますが、すべてのマップはグローバルマップの上にオーバーレイされます。

挿入モードのときに、 C-v が希望どおりにバインドされていないことがわかったと思います。これを.viperに追加することで解決できます: ジェネラコディセタグプレ

最後に、scroll-downはあなたが望むものではないかもしれません。 downは、テキストが下に移動することを指します(固定ウィンドウの視点が与えられた場合)。 C-v は通常、'scroll-upにバインドされています。しかし、多分それはまさにあなたが望むものです。

警告:私はviperモードのユーザーではなく、viの使用方法すら知りません。だから私の用語はずれているかもしれません。しかし、バイパーモードで物事を変えるという課題は非常に興味深いと思います。

編集して追加

コメントから、 n j がデフォルトでバインドされているものと同じにする必要があるようです。これを追加してみてください: ジェネラコディセタグプレ

「通常」モードでは、 Mx describe-key j を実行しました。これにより、 j 'viper-next-lineにバインドされ、上記の行は nにバインドされます。 を同じルーチンに。シフトしたい残りのバインディングについて繰り返します。

他のヒント

現代では、evil-modeはemacsのvimエミュレーションレイヤーであり、colemak用に微調整するために、私の https://github.com/wbolster/evil-colemak-basics パッケージは大いに役立ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top