Переназначить «Home» и «End» на начало и конец строки

Большую часть своего вычислительного времени я провожу в Linux (иногда в Windows). На этих платформах клавиши Homeи Endвсегда переходят к началу или концу текущей строки.

Я постепенно привыкаю к ​​использованию единственного компьютера Apple в своей жизни, но меня все равно расстраивает то, что эти клавиши как будто привязаны к началу и концу документа, а для строки вообще нет никакой клавиши основанные действия.

Мой вопрос:

  1. Существуют ли существующие сочетания клавиш, которые мне не хватает для начала и конца строки? (в основном я использую Terminal, Chrome и LibreOffice)
  2. Есть ли способ переназначить функции этих клавиш на функции, с которыми я знаком? Я готов отказаться от версий, основанных на документах, которые кажутся мне малопригодными.

Также две оговорки:

  1. Я не единственный пользователь системы. Было бы неплохо, если бы мои пользовательские настройки не нарушали работу других людей. Если это невозможно, я думаю, что у меня, вероятно, самые сильные предпочтения!
  2. Я использую несколько языков и переключаюсь между раскладками клавиатуры, поэтому ожидается, что любые решения будут работать даже при переключении между несколькими раскладками клавиатуры.
Обратите внимание, что, хотя я нашел решение и ответил на свой вопрос, я открыт для более простых или более универсальных решений. Также не ясен процесс обнаружения этого. Например, где вы найдете коды клавиш и названия действий, если я хочу переназначить больше клавиш? Не стесняйтесь добавлять ответы, если у вас есть соответствующие знания!
Я ненавижу свой Mac именно по этой причине. Каждая система использует home и end, кроме mac.
это было моим самым большим проклятием с тех пор, как я использовал Mac

Ответы (13)

Ярлыки по умолчанию для перехода к началу или концу (перенесенных) строк: и . и или Aи Eперейти к началу или концу развернутых строк (или абзацев). и двигаться вперед/назад по словам, и все это совместимо с удерживанием Shiftдля выбора во время соответствующих ходов.

Вы можете переназначить дом и закончить, создав ~/Library/KeyBindings/и сохранив список свойств, подобный этому, как DefaultKeyBinding.dict:

{
    "\UF729"  = moveToBeginningOfLine:; // home
    "\UF72B"  = moveToEndOfLine:; // end
    "$\UF729" = moveToBeginningOfLineAndModifySelection:; // shift-home
    "$\UF72B" = moveToEndOfLineAndModifySelection:; // shift-end
}

Большинство сочетаний клавиш для редактирования текста в OS X определены в файлах /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict.

Применение изменений требует повторного открытия приложений. DefaultKeyBinding.dict игнорируется некоторыми старыми версиями Xcode (работает с последней версией 6.3.1), терминалом и многими кроссплатформенными приложениями.

См. Cocoa Text System и мой веб-сайт для получения дополнительной информации о настраиваемых сочетаниях клавиш.

Привязки клавиш терминала можно настроить в разделе «Настройки» > «Профили» > «Настройки» > «Клавиатура». \033OHперемещается в начало строки и \033OFв конец строки.

В Eclipse привязки клавиш следует изменить в разделе «Настройки» > «Основные» > «Ключи». Вам необходимо изменить привязки по умолчанию для команд « Начало строки» и « Конец строки» (замените ⌘ ← на ↖ и ⌘→ на ↘). Чтобы выделение работало, также измените Select Line Start и Select Line End .

PS: Возможно, вам придется выйти из системы и войти снова , чтобы ~/Library/KeyBindings/DefaultKeyBinding.dictизменения вступили в силу.

Полезная информация о сопоставлении клавиш — я использовал их с (коммерческим) BetterTouchTool, см. этот ответ .
По моему опыту, это не работает в большинстве приложений. Лучше использовать Карабина-Элементс.
Это здорово, потому что работает в Terminal, iTerm2, Chrome, Sublime и Outlook. Альтернатива (Karabina) менее хороша, потому что она сопоставляет «Home» с Command + LeftArrow, что фактически переключает окна в Терминале. Вы должны не забыть перезапустить все приложения после сохранения файла .dict.
Это не работает с вимом
/StandardKeyBinding.dictявляется бинарным. Вы не можете это прочитать
ссылка на ваш сайт не работает
@Green для редактирования двоичного списка см. apple.stackexchange.com/questions/101719/…
Этот параметр работает для меня в Mac OS Mojave с подключенной внешней клавиатурой.
Большое спасибо за это большое усилие вы сделали там! Спасибо.
Спасибо огромное! Отчет: Outlook, Word, Terminal и Slack Snippet заработали сразу. MacOS Notes и Chrome работали после перезапуска приложения. Slack Add Message не учитывает этого. Webstorm работал всегда.
OMG, чем вы так много. Спасибо, комментарии - это шум, но спасибо. Новичок в AppleMac в течение 3 месяцев, и как разработчик, который постоянно использует сочетания клавиш, я кричал на свой экран в разные моменты дня. Это снова сделало жизнь нормальной!
Это больше не работает для Safari (и многих других программ) в Catalina.
К сожалению, мои клавиши Home и End по-прежнему не работают должным образом в Slack, что сводит меня с ума. Но в целом этот совет полезен. Во многих других статьях (включая damieng.com/blog/2015/04/24/… ) упоминаются ctrl-shift-homeи ctrl-shift-end, но я никогда не видел, чтобы они работали, независимо от приложения.
больше не работает на страницах
Работал над BigSur для Chrome.
Привязки клавиш терминала, похоже, не работают в Монтерее.

В настоящее время я использую Lion 10.7.4, и по какой-то странной причине редактирование ~/Library/KeyBindings/DefaultKeyBinding.dictне помогло мне.

Я обнаружил, что аддон KeyRemap4MacBook System Preferences (который теперь называется Karabiner-Elements ) работает очень хорошо, и с его помощью вы также можете переназначать различные клавиши без необходимости редактировать какие-либо текстовые файлы. Например, изменение клавиш страницы вверх/вниз, чтобы курсор также перемещался по странице вверх/вниз.

Просто загрузите дополнение и на панели «Системные настройки» перейдите к For PC Usersразделу и отметьте Use PC Style Home /End.

Обратите внимание, что я выбрал (Change Home to Command+Left)вместо (Change Home to Control+A), как если бы я выбрал первую строку, и если строка была перенесена, home перенесет меня к началу перенесенной строки, несколькими строками выше, а не к началу текущей строки.

KeyRemap4MacBook

Karabiner великолепен, а также с открытым исходным кодом
С 10.10.5 другие предложения, похоже, не работают, но Karabiner (новое название KeyRemap4MacBook — работает на всех продуктах Mac) работает хорошо и не требует перезагрузки, чтобы изменения вступили в силу. Чрезвычайно полезно для этого новичка Mac; надеюсь, другие тоже могут извлечь выгоду.
Karabiner сопоставляет только подключенные устройства, поэтому это не сработает, если вы используете VNC, Splashtop и т. д. Однако ответы KeyBindings работают для Splashtop (который я сейчас использую), и я предполагаю, что они также будут работать для ВНК.
Just download the addon, and in the System Preferences panel,В Системных настройках не нашел. Я нашел его в LaunchPad. Версия для Mac: Эль-Капитан 10.11.3
На сегодняшний день «Karabiner в настоящее время не работает на macOS Sierra».
@james.garriss Попробуйте Karabiner-Elements — тот же автор, хотя и переписанный с нуля для поддержки Sierra (он все еще находится в разработке, поэтому в нем довольно много шероховатостей) — github.com/tekezo/Karabiner-Elements
@jklp К сожалению, функции, необходимые для переназначения клавиш Home и End на расширенной клавиатуре Apple, еще недоступны в Karabiner Elements. Лично у меня, кажется, есть мышечная память для Ctrl-a, Ctrl-e при работе в консоли, но при работе в приложении с графическим интерфейсом, таком как Sublime, это очень сложно запомнить. Однако для Sublime (в частности) есть решение: coderwall.com/p/upolqw/…
Если вы находитесь в 2020 году и, как и я, не знаете, как настроить Karabiner, перейдите на вкладку «Сложные модификации»> «Добавить правило»> «Импортировать дополнительные правила из Интернета», а затем выполните поиск «дом», и вы найдете некоторые правила для импорта.
Если вы находитесь в 2021 году и вам нужны правила для ПК, перейдите на вкладку «Сложные модификации»> «Добавить правило»> «Импортировать дополнительные правила из Интернета», а затем выполните поиск «ПК», и вы найдете некоторые правила для импорта. (Спасибо @RodrigoSaling) за первый совет
Я бы никогда не подумал об использовании инструмента, который требует мониторинга всего ввода с клавиатуры, даже если это не активное приложение , с открытым исходным кодом или нет.
В июле 2021 года я использую Personal PC-Style Shortcuts(@Bave Lee)и импортирую Home key to the beginning of the line (Control + a)иEnd key to the end of the line (Control + e)
Просто работал у меня на 12.3. Не нужно было перезагружаться или выходить из системы. Нажав кнопку Option, Finder снова запустил его, и он отлично работал в приложениях FF, Safari и macOS по умолчанию. Не работает в Терминале или iTerm. После прочтения комментария @Player1 у меня возник соблазн переназначить его, Ctrl+aно Ctrl-eвместо этого это приведет к различным несовместимостям.

Благодаря этой статье я понял, как повторно привязать клавиши Homeи Endк действиям на основе строк для каждого пользователя, которые работают на разных раскладках клавиатуры.

Вам нужно создать файл словаря с кодами клавиш и новыми командами для сопоставления, но сначала убедитесь, что папка, в которую он будет помещен, существует, открыв Терминал и выполнив:

$ mkdir -p ~/Library/KeyBindings

Затем создайте или отредактируйте файл в ~/Library/KeyBindings/DefaultKeyBinding.dict. Если его раньше не было, добавьте весь раздел ниже. Если он существует, просто добавьте четыре новые строки внутрь блока.

{
    "\UF729"  = "moveToBeginningOfLine:";
    "\UF72B"  = "moveToEndOfLine:";
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:";
    "$\UF72B" = "moveToEndOfLineAndModifySelection:";
}

Чтобы активировать настройки, вам необходимо выйти из системы и снова войти в систему.

Обратите внимание, что это относится как к обычному действию по перемещению курсора, так и к комбинации Shift+ Home/ Endдля выбора во время движения курсора.

Я использую OS X Sierra, и ~/Library/KeyBindings/DefaultKeyBinding.dictрешение, предложенное другими пользователями, частично сработало: некоторые приложения, такие как TextEdit, теперь имеют желаемое поведение, а другие приложения — нет. Google Chrome и Slack, похоже, не уважают DefaultKeyBinding.dictфайл.

Чтобы исправить оставшиеся приложения, я использовал BetterTouchTool (устаревший) / BetterTouchTool (текущий) для создания привязки сочетаний клавиш для конкретных приложений, Homeа Endтакже для собственных сочетаний клавиш OS X и Ctrl+Aфайлов Ctrl+E. BetterTouchTool не бесплатен, но есть 45-дневный пробный период.

Сделать это:

  1. Установите и запустите BetterTouchTool
  2. Перейдите на вкладку «Жесты» > «Клавиатура».
  3. В разделе «Выберите приложение» нажмите +и выберите приложение, которое хотите исправить.
  4. Нажмите «Добавить новый ярлык», назначьте Homeклавишу в поле «Ярлык записи» и установите «Активировать другое сочетание клавиш» на Ctrl+A. Повторите для Endи Ctrl+E.
  5. Когда вы закончите, панель должна выглядеть так:Панель BetterTouchTool
  6. В дополнительных настройках BetterTouchTool разрешите ему запускаться при запуске.

Примечание: не закрывайте приложение BetterTouchTool, иначе оно перестанет перехватывать нажатия клавиш. Просто закройте его окно, и он должен продолжить работу в фоновом режиме.

Спасибо - только что использовал это на El Capitan, так как я уже заплатил за BetterTouchTool, и он отлично работает с Chrome, Slack и другими приложениями.
Для выбора во время прыжка (например, в документах Word или onenote) вам также нужно сопоставить сдвиг-домой с сдвигом-командой-стрелка влево (стрелка примечания, а не элемент управления A) и аналогично для конца. Взято отсюда community.folivora.ai/t/…
В заключение! У меня есть решение для этого отсутствующего сопоставления. Спасибо за совет.
С тех пор я перешел на Karabiner Elements, как объяснено в ответе Джейсона Уотерса. Это проще настроить.
Это решение отлично работает! Разница лишь в том, что в 2022 году пользовательский интерфейс выглядит немного иначе, и мне пришлось сделать назначенные действия ⌘ <- и ⌘ ->.

Я сделал это с помощью Karabiner Elements .

Вам необходимо обновить раздел правил ~/.config/karabiner/karabiner.jsonс помощью массива JSON из кода ниже. Это переназначит клавиши Home и End, чтобы они работали так же, как на ПК / Windows.

{
  "rules": [
    {
      "description": "change home key to command + left_arrow",
      "manipulators": [
        {
          "from": {
            "key_code": "home"
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "type": "basic"
        }
      ]
    },
    {
      "description": "change home key to command + left_arrow while presing shift (selection)",
      "manipulators": [
        {
          "from": {
            "key_code": "home",
            "modifiers": {
              "mandatory": [
                "left_shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow",
              "modifiers": [
                "left_command",
                "left_shift"
              ]
            }
          ],
          "type": "basic"
        }
      ]
    },
    {
      "description": "change end key to command + right_arrow",
      "manipulators": [
        {
          "from": {
            "key_code": "end"
          },
          "to": [
            {
              "key_code": "right_arrow",
              "modifiers": [
                "left_command"
              ]
            }
          ],
          "type": "basic"
        }
      ]
    },
    {
      "description": "change end key to command + right_arrow while presing shift (selection)",
      "manipulators": [
        {
          "from": {
            "key_code": "end",
            "modifiers": {
              "mandatory": [
                "left_shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow",
              "modifiers": [
                "left_command",
                "left_shift"
              ]
            }
          ],
          "type": "basic"
        }
      ]
    }
  ]
}

см. также: суть github

введите описание изображения здесь

Вы можете упростить это, используя , "modifiers": { "optional": [ "any"] }чтобы избежать дублирования правила для выбора (это форматирование в комментарии ужасно, скопируйте и вставьте в редактор, чтобы прочитать правильно, я полагаю){ "description": "Home is Beginning of line", "type": "basic", "from": { "key_code": "home", "modifiers": { "optional": [ "any"] } }, "to": [{ "key_code": "left_arrow", "modifiers": [ "left_command" ] }] }
Правило для достижения этого также можно импортировать из репозитория, зайдя в Complex modificationsраздел и нажав Import more rules from the internet, чтобы открыть браузер по адресу ke-complex-modifications.pqrs.org , выполнить поиск Homeи получить Home and Endрезультаты. Проверено на Биг Суре.

Я использую потрясающий KeyRemap4MacBook с пользовательскими настройками, указанными ниже.

Он исправляет Home/End в большинстве приложений и не портит iTerm2.

Из https://gist.github.com/lhotari/6134223181439b9ed0a1

<?xml version="1.0"?>
<!-- ~/Library/Application Support/KeyRemap4MacBook/private.xml -->
<!-- Custom keyboard mappings for MBP using https://pqrs.org/macosx/keyremap4macbook/ -->
<root>
    <item>
        <name>Lari's PC Style Home/End</name>
        <appendix>(Change Home to Command+Left)</appendix>
        <appendix>(Change End to Command+Right)</appendix>
        <appendix></appendix>
        <appendix>{{ PC_STYLE_BINDINGS_IGNORE_APPS_DESCRIPTION }}</appendix>
        <identifier>lari.remap.pclikehomeend</identifier>
        <block>
            <only>DREAMWEAVER</only>
            <autogen>__KeyToKey__ FROMKEYCODE_HOME, KeyCode::HOME, ModifierFlag::SHIFT_L</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_END,  KeyCode::END,  ModifierFlag::SHIFT_L</autogen>
        </block>
        <block>
            <only>BLUEFISH,WORD,EXCEL,POWERPOINT</only>
            <autogen>__KeyToKey__ FROMKEYCODE_HOME, KeyCode::HOME</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_END,  KeyCode::END</autogen>
        </block>
        <!--
        <block>
            <only>EMACS, TERMINAL, X11, ECLIPSE</only>
            <autogen>__KeyToKey__ FROMKEYCODE_HOME, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_END,  KeyCode::E, ModifierFlag::CONTROL_L</autogen>
        </block>
         -->
        <block>
            <not>{{ PC_STYLE_BINDINGS_IGNORE_APPS }}</not>
            <autogen>__KeyToKey__ FROMKEYCODE_HOME, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::CURSOR_UP,    ModifierFlag::COMMAND_L</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_HOME, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_UP,    ModifierFlag::COMMAND_L</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_END,  MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND, KeyCode::CURSOR_DOWN,  ModifierFlag::COMMAND_L</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_END,  MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_DOWN,  ModifierFlag::COMMAND_L</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_HOME,             KeyCode::CURSOR_LEFT,  ModifierFlag::COMMAND_L</autogen>
            <autogen>__KeyToKey__ FROMKEYCODE_END,              KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>
        </block>
    </item>
</root>
Не был обновлен для работы с Sierra, по ссылке выше.
Этот инструмент был переименован в Karabiner и, по-видимому, работает с OS X El Capitan 10.11, Sierra 10.12 и High Sierra 10.13.

Ответ @Lri потрясающий ( большое спасибо, это сводило меня с ума ), но в итоге я немного изменил его.

(В этом ответе я использую имена ключей, отличные от Apple, поэтому Command= Superи Option= Alt)

SuperLeftи SuperRightраньше фактически сопоставлялись с moveToLeftEndOfLineи moveToRightEndOfLine. Использование moveToBeginningOfLineand moveToEndOfLine, как это делает @Lri, может привести к непоследовательному поведению.

Есть целая куча других различий между ярлыками Apple и буквально всеми остальными ярлыками, которые я добавил. Например, ControlLeftи ControlRightдолжны перемещаться между словами; не AltLeftи AltLeft. Я не думаю, что это исчерпывающе, но сейчас это работает очень хорошо для меня. Я предположил, что пользователь уже поменял местами клавиши Controlи Super, чтобы исправить вырезание, копирование и вставку.

~/Library/KeyBindings/DefaultKeyBinding.dict:
{
    "\UF729"   = moveToLeftEndOfLine:; // home
    "\UF72B"   = moveToRightEndOfLine:; // end
    "$\UF729"  = moveToBeginningOfLineAndModifySelection:; // shift-home
    "$\UF72B"  = moveToEndOfLineAndModifySelection:; // shift-end

    "@\UF700"  = moveUp:;  //super-up
    "@\UF701"  = moveDown:;  //super-down
    "@\UF702"  = moveWordLeft:;  //super-left
    "@\UF703"  = moveWordRight:;  //super-right

    "@$\UF700" = moveUpAndModifySelection:;  // super-shift-up
    "@$\UF701" = moveDownAndModifySelection:;  // super-shift-down
    "@$\UF702" = moveWordLeftAndModifySelection:;  // super-shift-left
    "@$\UF703" = moveWordRightAndModifySelection:;  // super-shift-right

    "@\UF728"  = deleteWordForward:;  // super-delete
    "@\U7F"    = deleteWordBackward:;  // super-backspace
}

Я нашел следующее полезным для iterm2и zshс цитатами отсюда :

Открыть iTerm > Preference. Перейти к profiles tab > Keys. Затем нажмите +кнопку в нижней части списка клавиш, нажмите Home(или Fn+left arrowна беспроводной клавиатуре Apple) под Actionвыберите Send Escape Sequenceи введите[1~

Повторите для Endклавиши с [~4последовательностью escape-клавиш.

Если вы используете zsh, также сделайте это:

1) Поместите следующее в свой ~/.zshrcфайл

bindkey "^[[1~" beginning-of-line
bindkey "^[[4~" end-of-line

2) Запускаем source ~/.zshrcв любых открытых терминалах.

iTerm2 также имеет предустановку сопоставления клавиш «Редактирование естественного текста», которая включает это поведение.
Необходимо изменить на bindkey "^[[~4" end-of-line. Обратите внимание на положение 4.
@Ty Спасибо, но можешь объяснить почему? Исходный источник, а также github.com/reenhanced/zsh-config/blob/master/lib/… и github.com/ThiefMaster/zsh-config/blob/master/zshrc.d/… используют «^[[4 ~"
Я не очень хорошо разбираюсь в этих escape-последовательностях, но для меня ^[[4~эхо выводится, 4а ^[[~4курсор перемещается в конец строки.
@Ты Интересно. Я немного поискал, чтобы понять почему, но смог найти только примеры ^[[4~. Какую клавиатуру и кодировку символов вы используете, может быть, это имеет значение?
Что сработало для меня для iTerm2, так это ответ здесь: apple.stackexchange.com/a/389587 , который предлагает отправлять шестнадцатеричные коды 0x01 для дома и 0x05 для конца.

Имхо, лучший инструмент для изменения клавиатуры - это действительно Karabiner (старое название KeyRemap4MacBook). Открытый исходный код ( https://github.com/tekezo/Karabiner ), но также доступен в виде приложения ( https://pqrs.org/osx/karabiner/index.html.en ). Долго искал и ничего лучше не нашел.

  1. Откройте этот файл
     /Library/KeyBindings/DefaultKeyBinding.dict (apply to all users)

или же

     ~/Library/KeyBindings/DefaultKeyBinding.dict (apply to yourself)
  1. Добавьте эти строки:
    {
      "\UF729"  = moveToBeginningOfParagraph:; // home
      "\UF72B"  = moveToEndOfParagraph:; // end
      "$\UF729" = moveToBeginningOfParagraphAndModifySelection:; // shift-home
      "$\UF72B" = moveToEndOfParagraphAndModifySelection:; // shift-end
      "^\UF729" = moveToBeginningOfDocument:; // ctrl-home
      "^\UF72B" = moveToEndOfDocument:; // ctrl-end
      "^$\UF729" = moveToBeginningOfDocumentAndModifySelection:; // ctrl-shift-home
      "^$\UF72B" = moveToEndOfDocumentAndModifySelection:; // ctrl-shift-end
    }
Этот ответ, кажется, просто перефразирует то, что уже объяснено в других ответах, но заменяет ваш любимый набор ключей без особых объяснений. Возможно, вы могли бы добавить немного больше ценности, объяснив , чем это отличается от других решений.
@Caleb: он добавляет moveToBeginningOfDocument и moveToEndOfDocument, которые я считаю незаменимыми.

На исходный вопрос уже дан ответ, но я собрал эквивалентность отсутствующих клавиш стандартной раскладки клавиатуры (Home, Backspace, Page и т. д.) на Mac здесь .

Это от iExplain работает для Big Sur.

{
    /* Remap Home / End keys */

    /* Home Button*/
    "\UF729" = "moveToBeginningOfLine:"; 

    /* End Button */
    "\UF72B" = "moveToEndOfLine:"; 

    /* Shift + Home Button */
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:"; 

    /* Shift + End Button */
    "$\UF72B" = "moveToEndOfLineAndModifySelection:"; 
    
    /* Ctrl + Home Button */
    "^\UF729" = "moveToBeginningOfDocument:";
 
    /* Ctrl + End Button */
    "^\UF72B" = "moveToEndOfDocument:";
 
    /* Shift + Ctrl + Home Button */
    "$^\UF729" = "moveToBeginningOfDocumentAndModifySelection:";

    /* Shift + Ctrl + End Button*/
    "$^\UF72B" = "moveToEndOfDocumentAndModifySelection:"; 
}

Вы также можете переназначить клавиши клавиатуры, а также настроить мышь и трекпад самыми разными способами с помощью бесплатного BetterTouchTool, доступного по адресу http://blog.boastr.net/ . Отличное решение для настройки работы ваших устройств ввода!

Не могли бы вы дополнить свой ответ инструкциями о том , как использовать указанное программное обеспечение для решения исходной проблемы?
Не бесплатно ни в смысле «бесплатного пива», ни в смысле «свободы». 45-дневная пробная версия, платное программное обеспечение с закрытым исходным кодом.