Включите сочетание клавиш 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. Измените третий ряд клавиш LeftиRight

    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 & Co, хотя. Может кто-то другой знает, как это исправить. Мне очень нравится Ubuntu и Linux в целом, но вся эта клавиатурная штука неоправданно сложна и, к сожалению, сломана :-<

решение2

Это специально для sublime text, но для тех, кто ищет способ переназначить alt и клавиши со стрелками, чтобы они вели себя как на mac, может наткнуться на этот ответ, как и я. В sublime откройте Preferences > Key Bindings - User и добавьте следующее в квадратных скобках.

{ "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 имеют свои собственные привязки, и вам придется найти для них соответствующие части и части, предполагая, что это вообще возможно (ГТК+ 2.x).

Связанный контент