キーボードの矢印をショートカットにマッピングする


9

私が使用しているので、私はすべての10指で入力Alt+をHJKL)移動カーソルに挿入モードでのVimでのショートカットと、それは非常にクールだ:)私はしたいと思いXのキーを矢印リマップすべてXでこれらのショートカットを使用する(Gnomeの)アプリケーション

Alt+ を押すKと、上矢印として機能するはずです。

自己拷問の場合:) .gvimrcにこれらの行を含めることができます

inoremap <Left>  <NOP>
inoremap <Right> <NOP>
inoremap <Up>    <NOP>
inoremap <Down>  <NOP>
inoremap <A-h> <Left>
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-l> <Right>

回答:


2

正確にあなたが求めているものではありませんが、ほぼ...

xmodmapコマンドを使用して、Xキーボード設定を再マップできます。次のコマンドを実行すると、現在の設定を確認できますxmodmap -pke

各キーコード(キーボードのすべてのキーに関連付けられた値)には、最大8つのキーシム(基本的には出力)を接続できます。それらは次のとおりです。

  1. 自分で押すと
  2. シフトで押すと
  3. モードスイッチを有効にして押すと(廃止されたようです)
  4. モードスイッチとシフトで押すと(廃止されたようです)
  5. Alt-Gr(xmodmap用語ではISO_Level3_Shiftとも呼ばれます)を押した場合
  6. Alt-Grとシフトで押すと

現在、私の「h」キーは次のようになります。

h H h H hstroke Hstroke

ここで、Hstroke keysymはproducesを生成します。

Alt-Grを使用してASCII以外の文字を入力している場合を除き、Alt-Grを使用してh、j、k、lを再マッピングし、必要な操作を行うことができます。これは:

xmodmap -e 'keycode 43 = h H h H Left Hstroke'
xmodmap -e 'keycode 44 = j J j J Up J'
xmodmap -e 'keycode 45 = k K k K Down ampersand'
xmodmap -e 'keycode 46 = l L l L Right Lstroke'

もちろん、シフトエントリを持つAlt-Grは厳密には必要ありません。すでに存在する値を保持しているだけです。xev端末からコマンドを実行して、キーコード値を見つけることができます。xevXイベントを表示するので、キーを押してその情報を見つけることができます。

この設定を永続的にするには、ホームディレクトリの.Xmodmapに以下を追加できます。

keycode 43 = h H h H Left Hstroke
keycode 44 = j J j J Up J
keycode 45 = k K k K Down ampersand
keycode 46 = l L l L Right Lstroke

Alt-Grを押すことは、確かにhjklを使用するときにAltを押すことほど良くありませんが、メニューへのアクセスに使用されるため、Altだけを機能させるのに苦労するかもしれません。この回答の情報とFraekkertが言及したツールを使用して、代わりにAlt-Shift-hなどをバインドすることができます。

を使用して、bash(または使用するシェル)でviモードを設定できることにも注意してくださいset -o vi。これにより、コマンドラインと履歴を編集するときのviのような動作が得られます。私はこれがあなたの.vimrcを見ているとは思わないので、キーの再マッピングが機能することを期待しないでください。


0

キーボードショートカット設定ペインとxvkbdを組み合わせて使用​​します。

xvkbdを使用すると、コマンドラインを介してキーボードイベントを送信でき、キーボードショートカットを使用すると、コマンドラインをキーイベントにバインドできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.