Vuelva a asignar "Inicio" y "Fin" al principio y al final de la línea

La mayor parte de mi tiempo de computación lo paso en Linux (con tiempo ocasional en Windows). En estas plataformas, las teclas Homey Endsaltan universalmente al principio o al final de la línea actual.

Poco a poco me estoy acostumbrando a usar la única computadora Apple en mi vida, pero aún es frustrante que estas teclas parezcan estar vinculadas al principio y al final del documento y no parece haber ninguna tecla para la línea. acciones basadas.

Mi pregunta:

  1. ¿Hay combinaciones de teclas existentes que me faltan para el principio y el final de la línea? (Uso principalmente una Terminal, Chrome y LibreOffice)
  2. ¿Hay alguna forma de volver a vincular las funciones de estas teclas a las funciones con las que estoy familiarizado? Estoy dispuesto a renunciar a las versiones basadas en documentos que me parecen de poca utilidad.

También dos advertencias:

  1. No soy el único usuario en el sistema. Sería bueno si mi configuración de usuario no rompiera la experiencia de otras personas. Si esto no es posible, ¡creo que probablemente tenga la preferencia más fuerte!
  2. Utilizo varios idiomas y cambio entre diseños de teclado, por lo que se espera que cualquier solución funcione incluso al alternar entre varios diseños de teclado.
Tenga en cuenta que si bien terminé encontrando una solución y respondiendo mi propia pregunta, estoy abierto a soluciones más fáciles o más versátiles. Además, el proceso de descubrimiento de esto no está claro. Por ejemplo, ¿dónde encuentra códigos de teclas y nombres de acciones si quisiera reasignar más teclas? ¡Siéntase libre de agregar respuestas si tiene conocimientos relevantes!
Odio mi mac por esta razón exacta. Todos los sistemas usan home y end excepto mac.
esta ha sido mi mayor pesadilla desde que uso Mac

Respuestas (13)

Los accesos directos predeterminados para moverse al principio o al final de las líneas (envueltas) son y . y o Ay Edesplazarse al principio o al final de las líneas (o párrafos) sin envolver. y moverse hacia atrás/adelante por palabras, y todos estos son compatibles con mantener presionado Shiftpara seleccionar durante los movimientos correspondientes.

Puede reasignar el hogar y terminar creando ~/Library/KeyBindings/y guardando una lista de propiedades como esta como DefaultKeyBinding.dict:

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

La mayoría de las combinaciones de teclas para editar texto en OS X están definidas en /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict.

La aplicación de cambios requiere la reapertura de aplicaciones. DefaultKeyBinding.dict es ignorado por algunas versiones antiguas de Xcode (funciona con la última versión 6.3.1), Terminal y muchas aplicaciones multiplataforma.

Consulte Cocoa Text System y mi sitio web para obtener más información sobre las combinaciones de teclas personalizables.

Las combinaciones de teclas de la terminal se pueden personalizar en Preferencias > Perfiles > Configuración > Teclado. \033OHse mueve al principio de una línea y \033OFal final de una línea.

En Eclipse, los enlaces de teclas deben modificarse en Preferencias > General > Teclas. Debe modificar los enlaces predeterminados para los comandos Inicio de línea y Fin de línea (reemplace ⌘← por ↖ y ⌘→ por ↘). Para que la selección funcione, modifique también Seleccionar inicio de línea y Seleccionar final de línea .

PD: Es posible que deba cerrar sesión y volver a iniciar sesión para que el ~/Library/KeyBindings/DefaultKeyBinding.dictcambio surta efecto.

Información útil sobre las asignaciones de teclas: las he usado con BetterTouchTool (comercial), consulte esta respuesta .
Esto no funciona en la mayoría de las aplicaciones en mi experiencia. Es mejor usar Karabina-Elements.
Esto es genial porque funciona en Terminal, iTerm2, Chrome, Sublime y Outlook. La alternativa (Karabina) es menos buena porque asigna "Inicio" a Comando + Flecha izquierda, que en realidad cambia de ventana en la Terminal. Debe recordar reiniciar todas las aplicaciones después de guardar el archivo .dict.
esto no funciona con vim
/StandardKeyBinding.dictes binario. no puedes leerlo
El enlace de tu sitio está roto
@Green para la edición de listas binarias, consulte apple.stackexchange.com/questions/101719/…
Esta configuración me funciona en Mac OS Mojave con un teclado externo conectado.
¡Muchas gracias por este gran esfuerzo que hiciste allí! Gracias.
¡Muchas gracias! Informe: Outlook, Word, Terminal y Slack Snippet funcionaron de inmediato. MacOS Notes y Chrome funcionaron después de reiniciar la aplicación. Slack Add Message no respeta esto. Webstorm siempre funcionó.
Dios mío que tú tanto. Gracias comentarios son ruido pero gracias. Nuevo en AppleMac durante 3 meses y como desarrollador que usa atajos de teclado todo el tiempo, he estado gritando en mi pantalla en varios momentos del día. ¡Esto ha hecho que la vida vuelva a ser normal!
Esto ya no funciona para Safari (y muchos otros programas) en Catalina.
Desafortunadamente, mis teclas Inicio y Fin aún no se comportan correctamente en Slack, lo que me está volviendo loco. Pero en general, este consejo es útil. Muchos otros artículos (incluido dameng.com/blog/2015/04/24/… ) mencionan ctrl-shift-homey ctrl-shift-end, pero nunca los he visto funcionar, independientemente de la aplicación.
ya no funciona en paginas
Trabajó en BigSur para Chrome.
Las combinaciones de teclas de la terminal parecen no funcionar en Monterey

Actualmente estoy en Lion 10.7.4 y, por alguna extraña razón, editar ~/Library/KeyBindings/DefaultKeyBinding.dictno funcionó para mí.

Descubrí que el complemento KeyRemap4MacBook System Preferences (que ahora se llama Karabiner-Elements ) funciona muy bien, y también puede reasignar una variedad de teclas con él, sin tener que editar ningún archivo de texto. Por ejemplo, cambiando las teclas de página arriba/página abajo para que el cursor también siga en la página arriba/abajo.

Simplemente descargue el complemento y, en el panel de Preferencias del sistema, busque la For PC Userssección y marque Use PC Style Home /End.

Tenga en cuenta que elegí (Change Home to Command+Left)en lugar de (Change Home to Control+A), como si eligiera el primero, y si la línea estuviera envuelta, home me llevaría al comienzo de la línea envuelta, varias líneas más arriba, en lugar de llevarme al comienzo de la línea actual.

KeyRemap4MacBook

Karabiner es genial y también de código abierto.
Con 10.10.5, las otras sugerencias parecen no funcionar, pero Karabiner (el nuevo nombre de KeyRemap4MacBook, funciona en todos los productos Mac) funciona bien y no necesita reiniciarse para que los cambios surtan efecto. Inmensamente útil para este novato de Mac; con suerte, otros también pueden beneficiarse.
Karabiner solo asigna dispositivos conectados, por lo que esto no funcionará si está usando VNC, Splashtop, etc. Sin embargo, las respuestas de KeyBindings funcionan para Splashtop (que estoy usando actualmente) y supongo que también funcionarán para VCN.
Just download the addon, and in the System Preferences panel,No lo encontré en Preferencias del Sistema. Lo encontré en el LaunchPad. Versión Mac: El Capitán 10.11.3
A partir de hoy, "Karabiner no funciona en macOS Sierra en este momento".
@james.garriss Dale una oportunidad a Karabiner-Elements: el mismo autor, aunque reescrito desde cero para admitir Sierra (todavía está en desarrollo, por lo que son bastante ásperos) - github.com/tekezo/Karabiner-Elements
@jklp Desafortunadamente, la funcionalidad que se necesita para reasignar las teclas Inicio y Fin en el teclado extendido de Apple aún no está disponible en Karabiner Elements. Personalmente, parece que tengo la memoria muscular para Ctrl-a, Ctrl-e cuando trabajo en la consola, pero cuando trabajo en una aplicación GUI como Sublime, es muy difícil de recordar. Sin embargo, para Sublime (específicamente) hay una solución: coderwall.com/p/upolqw/…
Si está en 2020 y, como yo, no tiene idea de cómo configurar Karabiner, vaya a la pestaña Modificaciones complejas> Agregar regla> Importar más reglas de Internet, y luego busque "inicio" y encontrará algunas reglas para importar.
Si está en 2021 y desea las reglas para PC, vaya a la pestaña Modificaciones complejas > Agregar regla > Importar más reglas de Internet y luego busque "PC" y encontrará algunas reglas para importar. (Gracias @RodrigoSaling) por el consejo inicial
Nunca consideraría usar una herramienta que requiera monitorear todas las entradas del teclado, incluso si no es la aplicación activa , de código abierto o no.
En julio de 2021, uso Personal PC-Style Shortcuts(@Bave Lee)e importo Home key to the beginning of the line (Control + a)yEnd key to the end of the line (Control + e)
Acabo de trabajar para mí en 12.3. No tuvo que reiniciar o cerrar la sesión. Buscador con opción-clic y reiniciado y funcionó bien en FF, Safari y aplicaciones predeterminadas de macOS. No funcionó en Terminal o iTerm. Después de leer el comentario de @ Player1, estoy tentado a reasignar Ctrl+ay, Ctrl-een cambio, eso traerá diferentes incompatibilidades.

Gracias a este artículo , descubrí cómo volver a vincular las teclas Homey Enda las acciones basadas en líneas por usuario que funcionan en todos los diseños de teclado.

Debe crear un archivo de diccionario con los códigos clave y los nuevos comandos para asignar, pero primero asegúrese de que exista la carpeta donde se colocará abriendo una Terminal y ejecutando:

$ mkdir -p ~/Library/KeyBindings

Luego cree o edite el archivo en ~/Library/KeyBindings/DefaultKeyBinding.dict. Si no existía antes, agregue toda la sección a continuación. Si existe, simplemente agregue las cuatro filas nuevas dentro del bloque.

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

Para activar la configuración, deberá cerrar la sesión de su usuario y volver a iniciar sesión.

Tenga en cuenta que esto cubre tanto la acción normal de mover el cursor como la combinación Shift+ Home/ Endpara seleccionar durante el movimiento del cursor.

Estoy usando OS X Sierra, y la ~/Library/KeyBindings/DefaultKeyBinding.dictsolución sugerida por otros usuarios funcionó parcialmente: algunas aplicaciones como TextEdit ahora tienen el comportamiento deseado, pero otras no. Google Chrome y Slack son dos que no parecen respetar el DefaultKeyBinding.dictarchivo.

Para arreglar las aplicaciones restantes, usé BetterTouchTool (heredado) / BetterTouchTool (actual) para crear enlaces de atajos de teclado específicos de la aplicación Homey Enda los atajos nativos de OS X Ctrl+Ay Ctrl+E. BetterTouchTool no es gratis, pero hay un período de prueba de 45 días.

Para hacer esto:

  1. Instale y ejecute BetterTouchTool
  2. Ve a la pestaña Gestos > Teclado
  3. En "Seleccionar aplicación", haga clic +y elija la aplicación que desea corregir.
  4. Haga clic en "Agregar nuevo acceso directo", asigne la Hometecla en el campo "grabar acceso directo" y configure "Activar otro acceso directo de teclado" en Ctrl+A. Repita para Endy Ctrl+E.
  5. Cuando haya terminado, el panel debería verse así:Panel de herramientas BetterTouch
  6. En Configuración avanzada de BetterTouchTool, permita que se ejecute al inicio.

Nota: no salga de la aplicación BetterTouchTool o dejará de interceptar las pulsaciones de teclas. Simplemente cierre su ventana y debería continuar funcionando en segundo plano.

Gracias, acabo de usar esto en El Capitan porque ya pagué por BetterTouchTool, y funciona bien con Chrome, Slack y otras aplicaciones.
Para seleccionar mientras se salta (por ejemplo, en documentos de Word o en una nota), también debe asignar shift-home a shift-command-left-arrow (observe la flecha, no el control A) y de manera similar para el final. Lo saqué de aquí community.folivora.ai/t/…
¡Finalmente! Tengo una solución para este mapeo faltante. Gracias por el consejo.
Desde entonces, cambié a Karabiner Elements como se explica en la respuesta de Jason Waters. Es más fácil de configurar.
¡Esta solución funciona muy bien! La única diferencia es que la interfaz de usuario se ve un poco diferente en 2022 y tuve que hacer que las acciones asignadas fueran ⌘ <- y ⌘ ->.

Logré esto usando Karabiner Elements .

Debe actualizar la sección de reglas ~/.config/karabiner/karabiner.jsoncon la matriz JSON del código a continuación. Al hacerlo, se reasignan las teclas de inicio y finalización para que funcionen de la forma en que funcionan en PC/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"
        }
      ]
    }
  ]
}

ver también: github esencia

ingrese la descripción de la imagen aquí

Puede simplificar esto usando "modifiers": { "optional": [ "any"] }para evitar duplicar una regla para la selección (este formato en el comentario es horrible, copie y pegue en el editor para leer correctamente, supongo){ "description": "Home is Beginning of line", "type": "basic", "from": { "key_code": "home", "modifiers": { "optional": [ "any"] } }, "to": [{ "key_code": "left_arrow", "modifiers": [ "left_command" ] }] }
También se puede importar una regla para lograr esto desde el repositorio, ingresando a la Complex modificationssección y haciendo clic en Import more rules from the internet, que abrirá un navegador en ke-complex-modifications.pqrs.org , buscará Homey tomará Home and Endde los resultados. Probado en Big Sur.

Estoy usando el increíble KeyRemap4MacBook con la configuración personalizada a continuación.

Repara Home/End en la mayoría de las aplicaciones y no estropea iTerm2.

Desde 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>
No se ha actualizado para trabajar con Sierra, según el enlace de arriba.
Esta herramienta ha sido renombrada como Karabiner y aparentemente funciona con OS X El Capitan 10.11, Sierra 10.12 y High Sierra 10.13.

La respuesta de @ Lri es increíble ( muchas gracias; esto me estaba volviendo loco ), pero terminé modificándola un poco.

(En esta respuesta, uso los nombres que no son de Apple para las claves, así que Command= Supery Option= Alt)

SuperLefty SuperRightsolía estar asignado a moveToLeftEndOfLiney moveToRightEndOfLine. Usar moveToBeginningOfLiney moveToEndOfLine, como lo hace @Lri, puede causar un comportamiento inconsistente.

Hay muchas otras diferencias entre los atajos de Apple y, literalmente, los atajos de todos los demás que agregué. Por ejemplo, ControlLefty ControlRightse supone que se mueven entre palabras; no AltLefty AltLeft. No creo que esto sea exhaustivo, pero está funcionando bastante bien para mí en este momento. Supuse que el usuario ya había intercambiado las teclas Controly Superpara corregir el corte, copiado y pegado.

~/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
}

Encontré lo siguiente útil para iterm2y zshcon citas de aquí :

abierto iTerm > Preference_ Ir profiles tab > Keysa Luego haga clic en el +botón en la parte inferior de la lista de teclas, presione Home(o Fn+left arrowen el teclado inalámbrico de Apple), debajo de Actionseleccionar Send Escape Sequencey luego escriba[1~

Repita para la Endtecla con [~4para la secuencia de teclas de escape.

Si está usando zsh, también haga esto:

1) Coloque lo siguiente en su ~/.zshrcarchivo

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

2) Ejecutar source ~/.zshrcen cualquier terminal abierta.

iTerm2 también tiene un ajuste preestablecido de asignación de teclas de "edición de texto natural" que incluye este comportamiento.
Necesita ser cambiado a bindkey "^[[~4" end-of-line. Tenga en cuenta la posición de los 4.
@Ty Gracias, pero ¿puedes explicar por qué? La fuente original, así como github.com/reenhanced/zsh-config/blob/master/lib/… y github.com/ThiefMaster/zsh-config/blob/master/zshrc.d/… usan "^[[4 ~"
No estoy muy versado en estas secuencias de escape, pero para mí hace ^[[4~eco 4mientras ^[[~4mueve el cursor al final de la línea.
@Ty Interesante. Investigué un poco para averiguar por qué, pero solo he podido encontrar ejemplos de ^[[4~. ¿Qué tipo de teclado y codificación de caracteres está usando, tal vez eso marque la diferencia?
Lo que funcionó para mí para iTerm2 fue esta respuesta aquí: apple.stackexchange.com/a/389587 que sugiere enviar los códigos hexadecimales 0x01 para el hogar y 0x05 para el final.

En mi humilde opinión, la mejor herramienta para realizar cambios en el teclado es Karabiner (antiguo nombre KeyRemap4MacBook). Código abierto ( https://github.com/tekezo/Karabiner ) pero también disponible como aplicación ( https://pqrs.org/osx/karabiner/index.html.en ). Llevo mucho tiempo buscando y nunca he encontrado nada mejor.

  1. Abre este archivo
     /Library/KeyBindings/DefaultKeyBinding.dict (apply to all users)

o

     ~/Library/KeyBindings/DefaultKeyBinding.dict (apply to yourself)
  1. Añade estas líneas:
    {
      "\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
    }
Esta respuesta parece estar simplemente repitiendo lo que ya se explicó en otras respuestas, pero sustituyendo su conjunto de teclas favorito sin mucha explicación. Tal vez podría agregar un poco más de valor explicando en qué difiere esto de otras soluciones.
@Caleb: agrega moveToBeginningOfDocument y moveToEndOfDocument, que me parecen indispensables.

La pregunta original ya está respondida, pero he reunido la equivalencia de las teclas de teclado de diseño estándar que faltan (Inicio, Retroceso, Página, etc.) en una Mac aquí .

Esto de iExplain funciona para 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:"; 
}

También puede reasignar las teclas del teclado, así como personalizar el mouse y el trackpad de muchas maneras geniales, con la herramienta gratuita BetterTouch, disponible en http://blog.boastr.net/ . ¡Una excelente solución para personalizar el funcionamiento de sus dispositivos de entrada!

¿Podría ampliar su respuesta con instrucciones sobre cómo usar el software especificado para resolver el problema original?
No es gratis ni en el sentido de "Cerveza gratis" ni en el de "Libertad". Prueba de 45 días, software de pago de código cerrado.