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:
También dos advertencias:
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. \033OH
se mueve al principio de una línea y \033OF
al 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.dict
cambio surta efecto.
/StandardKeyBinding.dict
es binario. no puedes leerloctrl-shift-home
y ctrl-shift-end
, pero nunca los he visto funcionar, independientemente de la aplicación.Actualmente estoy en Lion 10.7.4 y, por alguna extraña razón, editar ~/Library/KeyBindings/DefaultKeyBinding.dict
no 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 Users
secció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.
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.3Personal 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)
Ctrl+a
y, Ctrl-e
en 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.dict
solució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.dict
archivo.
Para arreglar las aplicaciones restantes, usé BetterTouchTool (heredado) / BetterTouchTool (actual) para crear enlaces de atajos de teclado específicos de la aplicación Home
y End
a los atajos nativos de OS X Ctrl+A
y Ctrl+E
. BetterTouchTool no es gratis, pero hay un período de prueba de 45 días.
Para hacer esto:
+
y elija la aplicación que desea corregir.Home
tecla en el campo "grabar acceso directo" y configure "Activar otro acceso directo de teclado" en Ctrl+A. Repita para End
y Ctrl+E.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.
Logré esto usando Karabiner Elements .
Debe actualizar la sección de reglas ~/.config/karabiner/karabiner.json
con 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
"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" ] }] }
Complex modifications
sección y haciendo clic en Import more rules from the internet
, que abrirá un navegador en ke-complex-modifications.pqrs.org , buscará Home
y tomará Home and End
de 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>
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 moveToLeftEndOfLine
y moveToRightEndOfLine
. Usar moveToBeginningOfLine
y 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 iterm2
y zsh
con citas de aquí :
abierto
iTerm > Preference
_ Irprofiles tab > Keys
a Luego haga clic en el+
botón en la parte inferior de la lista de teclas, presioneHome
(oFn+left arrow
en el teclado inalámbrico de Apple), debajo deAction
seleccionarSend Escape Sequence
y luego escriba[1~
Repita para la End
tecla con [~4
para la secuencia de teclas de escape.
Si está usando zsh, también haga esto:
1) Coloque lo siguiente en su
~/.zshrc
archivobindkey "^[[1~" beginning-of-line bindkey "^[[4~" end-of-line
2) Ejecutar
source ~/.zshrc
en cualquier terminal abierta.
bindkey "^[[~4" end-of-line
. Tenga en cuenta la posición de los 4.^[[4~
eco 4
mientras ^[[~4
mueve el cursor al final de la línea.^[[4~
. ¿Qué tipo de teclado y codificación de caracteres está usando, tal vez eso marque la diferencia?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.
/Library/KeyBindings/DefaultKeyBinding.dict (apply to all users)
o
~/Library/KeyBindings/DefaultKeyBinding.dict (apply to yourself)
{
"\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
}
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!
Caleb
recogedor de barry
Emán