Большая часть моего компьютерного времени проводится в Linux (иногда в Windows). На этих платформах Homeи Endключи повсеместно перейти на начало или конец текущей строки.
Я постепенно привыкаю к использованию одного компьютера Apple в моей жизни, но это по-прежнему расстраивает, когда кажется, что эти ключи привязаны к началу и концу документа, и, похоже, нет никакого ключа для строки основанные действия.
Мой вопрос:
- Существуют ли комбинации клавиш, которые мне не хватает для начала и конца строки? (Я в основном использую Terminal, Chrome и LibreOffice)
- Есть ли способ привязать функции этих клавиш к функциям, с которыми я знаком? Я готов отказаться от основанных на документе версий, которые кажутся мне бесполезными.
Также два предостережения:
- Я не единственный пользователь в системе. Было бы хорошо, если бы мои пользовательские настройки не нарушали опыт других людей. Если это невозможно, я думаю, что у меня есть сильнейшее предпочтение!
- Я использую несколько языков и переключаюсь между раскладками клавиатуры, поэтому можно ожидать, что любые решения будут работать даже при переключении между несколькими раскладками клавиатуры.
Ответы:
Ярлыками по умолчанию для перехода к началу или концу (обернутых) строк являются ⌘←и ⌘→. ⌥↑и ⌥↓или ⌃Aи ⌃Eперейти к началу или концу развернутых строк (или абзацев). ⌥←и ⌥→двигаться назад / вперед по словам, и все они совместимы с удержанием Shiftдля выбора во время соответствующих ходов.
Вы можете переназначить начало и конец, создав
~/Library/KeyBindings/
и сохранив список свойств следующим образомDefaultKeyBinding.dict
:Большинство сочетаний клавиш для редактирования текста в OS X определены в
/System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict
.Применение изменений требует повторного открытия приложений. DefaultKeyBinding.dict игнорируется некоторыми старыми версиями Xcode (работает с последней версией 6.3.1), Terminal и многими кроссплатформенными приложениями.
См. Cocoa Text System и мой веб-сайт для получения дополнительной информации о настраиваемых сочетаниях клавиш.
Назначения клавиш терминала могут быть настроены в Предпочтения> Настройки> Клавиатура.
\033OH
перемещается в начало строки и\033OF
в конец строки.В Eclipse привязки клавиш следует изменить в «Предпочтения»> «Основные»> «Ключи». Вам нужно изменить привязки по умолчанию для команд Line Start и конец строки (замените ⌘ ← на ↖ и ⌘ → по ↘). Чтобы выбор работал, также измените Select Line Start и Select End End .
PS: Вам может потребоваться выйти из системы и войти снова, чтобы
~/Library/KeyBindings/DefaultKeyBinding.dict
изменения вступили в силу.источник
Я в настоящее время на Lion 10.7.4, и по какой-то странной причине редактирование
~/Library/KeyBindings/DefaultKeyBinding.dict
не работает для меня.Я обнаружил, что аддон KeyRemap4MacBook System Preferences (который теперь называется Karabiner ) работает очень хорошо, и вы также можете переназначить различные ключи с ним, не редактируя текстовые файлы. Например, переключая страницы вверх / вниз страницы, курсор также следует за страницей вверх / вниз.
Просто скачайте дополнение и на панели «Системные настройки» перейдите к
For PC Users
разделу и проверьтеUse PC Style Home /End
.Заметьте, я выбрал
(Change Home to Command+Left)
вместо(Change Home to Control+A)
, как если бы я выбрал первую, и если строка была перенесена, home перенесет меня в начало перенесенной строки, на несколько строк выше, вместо того, чтобы перенести меня в начало текущей строки.источник
Благодаря этой статье , я понял, как повторно связать Homeи Endключи к линии действия , основанному на основе каждого пользователя , который работает по всей раскладке клавиатуры.
Вам необходимо создать файл словаря с кодами клавиш и новыми командами для сопоставления, но сначала убедитесь, что папка, в которую он будет помещен, существует, открыв терминал и выполнив:
Затем создайте или отредактируйте файл в
~/Library/KeyBindings/DefaultKeyBinding.dict
. Если его не было раньше, добавьте весь раздел ниже. Если он существует, просто добавьте четыре новые строки внутри блока.Чтобы активировать настройки, вам необходимо выйти из системы и снова войти в систему.
Обратите внимание, что это охватывает как обычное действие перемещения курсора, так и комбинацию Shift+ Home/ Endдля выбора во время перемещения курсора.
источник
Я использую OS X Sierra, и
~/Library/KeyBindings/DefaultKeyBinding.dict
решение, предложенное другими пользователями, частично сработало: некоторые приложения, такие как TextEdit, теперь имеют желаемое поведение, а другие - нет. Google Chrome и Slack - два, которые, кажется, не уважаютDefaultKeyBinding.dict
файл.Чтобы исправить оставшиеся приложения, я использовал BetterTouchTool для создания привязки сочетаний клавиш для конкретного приложения,
Home
а такжеEnd
для собственных сочетаний клавиш OS XCtrl+A
иCtrl+E
. BetterTouchTool не является бесплатным, но есть 45-дневный пробный период.Сделать это:
+
и выберите приложение, которое хотите исправить.Home
ключ в поле «ярлык записи» и установите для «Сочетание других сочетаний клавиш» Ctrl + A. Повторите дляEnd
и Ctrl + E.Примечание: не закрывайте приложение BetterTouchTool, иначе оно перестанет перехватывать нажатия клавиш. Просто закройте его окно, и оно должно продолжать работать в фоновом режиме.
источник
Я использую удивительный KeyRemap4MacBook с пользовательскими настройками ниже.
Он исправляет Home / End в большинстве приложений и не портит iTerm2.
С https://gist.github.com/lhotari/6134223181439b9ed0a1
источник
Я нашел следующее полезное для
iterm2
иzsh
с цитатами отсюда :Повторите для
End
ключа с[~4
для последовательности клавиш escape.источник
bindkey "^[[~4" end-of-line
. Обратите внимание на положение 4.^[[4~
выводит эхом,4
пока^[[~4
перемещает курсор в конец строки.^[[4~
. Какую клавиатуру и кодировку символов вы используете, может быть, это имеет значение?Imho лучший инструмент для внесения изменений в клавиатуру - это действительно Karabiner (старое название KeyRemap4MacBook). Открытый исходный код ( https://github.com/tekezo/Karabiner ), но также доступен в виде приложения ( https://pqrs.org/osx/karabiner/index.html.en ). Я долго искал и никогда не нашел ничего лучшего.
источник
Я сделал это с помощью элементов Karabiner .
Вам необходимо обновить раздел правил
~/.config/karabiner/karabiner.json
с массивом JSON с кодом ниже. При этом клавиши home и end преобразуются так, чтобы они работали так же, как на ПК / Windows.смотри также: github gist
источник
@ Ответ Лри потрясающий ( большое спасибо; это сводило меня с ума ), но в итоге я немного его изменил.
(В этом ответе я использую не-appley имена для ключей, поэтому command = super и option = alt.)
Супер-левый и супер-правый используется для отображения
moveToLeftEndOfLine
иmoveToRightEndOfLine
. ИспользованиеmoveToBeginningOfLine
andmoveToEndOfLine
, как и @Lri, может привести к противоречивому поведению.Есть целый ряд других различий между ярлыками appley и буквально ярлыками всех остальных, которые я добавил. Например, ctrl-left и ctrl-right должны перемещаться между словами; не alt-left и alt-right. Я не думаю, что это исчерпывающе, но сейчас это работает довольно хорошо для меня. Я предположил, что пользователь уже поменял местами клавиши управления и супер-клавиши, чтобы исправить вырезание, копирование и вставку.
источник
Вы также можете переназначать клавиши клавиатуры, а также настраивать мышь и трекпад различными способами, используя бесплатный BetterTouchTool, доступный по адресу http://blog.boastr.net/ . Отличное решение для настройки работы ваших устройств ввода!
источник