Ctrl (または Alt) + 矢印キーを有効にして、「ホーム」と「終了」の機能を模倣します

Ctrl (または Alt) + 矢印キーを有効にして、「ホーム」と「終了」の機能を模倣します

私は長年 Mac を使っており、現在は開発に Ubuntu マシンを使用しています。キーボード ショートカットの多くには多少慣れていますが、慣れないのが「Home」キーと「End」キーを使ってテキスト行を移動することです。Mac では、「Command + 右矢印」で行末に移動し、「Command + 左矢印」で行頭に移動します。

Linux でこの種の機能を有効にする方法はありますか?

これが再マッピング、キーボード ショートカット、あるいはその他の何と見なされるかはわかりません...

答え1

xmodmap(を使用していくつかのヒント) ウィンドウ システム全体のキーを再バインドできます。次のアプローチは、必要なことを実現しますが、副作用があります :(

まずターミナルウィンドウで試してみましょう:

  1. 左のAltキーをいわゆる としますMode_switch

    1. キーに Mode_switch キー シンボルを割り当てます。

      xmodmap -e 'keycode  64 = Mode_switch Meta_L Alt_L Meta_L'
      
    2. (通常: Mode_switch が mod1-5 修飾キーのいずれかに割り当てられていることを確認しますが、Ubuntu ではすでにこのようになっています)

  2. LeftRightキーの3行目を変更します

    xmodmap -e 'keycode 113 = Left NoSymbol Home'
    xmodmap -e 'keycode 114 = Right NoSymbol End'
    

変更はログアウトするまでそのまま保持されます。永続的に保持したい場合は、次の内容をファイルに保存してください~/.Xmodmap

keycode  64 = Mode_switch Meta_L Alt_L Meta_L
keycode 113 = Left NoSymbol Home
keycode 114 = Right NoSymbol End

ただし、これにより Alt キーの通常の機能 (メニューへのアクセス、Alt-Tab など) が上書きされることに注意してください :(

ただし、私は xmodmap などの専門家ではありません。おそらく、他の誰かがこれを修正する方法を知っているでしょう。私は Ubuntu と Linux 全般が大好きですが、このキーボード関連の機能は不必要に複雑で、悲しいことに壊れています :-<

答え2

これは Sublime Text に特有のものですが、Mac のように Alt キーと矢印キーを再マップする方法を探している人は、私と同じようにこの回答に出会うかもしれません。Sublime で、[環境設定] > [キー バインディング - ユーザー] を開き、角括弧内に次の内容を追加します。

{ "keys": ["alt+left"], "command": "move_to", "args": {"to": "bol", "extend": false} },
{ "keys": ["alt+right"], "command": "move_to", "args": {"to": "eol", "extend": false} }

これで、少なくとも、適切に動作する Alt + 左矢印と右矢印を備えた便利なテキスト エディターが手に入りました。これが少しでもお役に立てば幸いです。

答え3

readline を使用するプログラム (例: bash) の場合は、適切なシーケンスに~/.inputrcバインドするようにbeginning-of-line編集end-of-lineできます。GUI ウィジェット ツールキットには独自のバインディングがあり、それが可能であると仮定すると、適切な部分を見つける必要があります (GTK+ 2.x の場合)。

関連情報