Я давний пользователь Mac, а сейчас использую Ubuntu для разработки, и хотя я более или менее привык ко многим сочетаниям клавиш, одна вещь, к которой я не могу привыкнуть, это использование клавиш «Home» и «End» для перемещения по строкам текста. На Mac вы используете «Command + стрелка вправо», чтобы перейти в конец строки, и «Command + стрелка влево», чтобы перейти в начало.
Есть ли способ включить такую функциональность в Linux?
Я не уверен, можно ли это считать переназначением клавиш, сочетаниями клавиш или чем-то еще...
решение1
С использованием xmodmap
(некоторые подсказки) вы можете переназначить клавиши для всей оконной системы. Следующий подход даст вам то, что вы хотите, но с побочными эффектами :(
Сначала попробуйте в окне терминала:
Пусть левая
Alt
клавиша будет так называемойMode_switch
:Назначьте клавише символ Mode_switch:
xmodmap -e 'keycode 64 = Mode_switch Meta_L Alt_L Meta_L'
(Обычно: убедитесь, что Mode_switch назначен на одну из клавиш-модификаторов mod1-5, но в Ubuntu это уже сделано)
Измените третий ряд клавиш
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).