DefaultKeyBinding.dict
El ~/Library/KeyBindings/DefaultKeyBinding.dict
archivo le permite definir sus propias asociaciones de teclas en Mac OS X. Puede estar en uno de dos formatos: formato NeXT de estilo antiguo ( ejemplo ) o formato de plist XML de estilo moderno ( ejemplo ).
Rebinding ⌘+⌫
Quería volver a vincular el comando-retroceso ( ⌘+ ⌫) a deleteWordBackward:
, y obtuve algo de ayuda en este hilo AskDifferent . Se sugirió que use esto como mi DefaultKeyBinding.dict
archivo:
/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}
Este consejo funcionó (¡gracias, muchachos!), Pero ya estoy trabajando DefaultKeybinding.dict
en el formato XML, así que quería intentar que funcionara de esa manera. Primero agregué solo este texto cerca del final de mi archivo existente:
<key>@\U007F</key>
<string>deleteWordBackward:</string>
Y también intenté crear un nuevo archivo con formato XML con solo la entrada ⌘+ ⌫:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>@\U007F</key>
<string>deleteWordBackward:</string>
</dict>
</plist>
Pero ninguno de los archivos funcionó. La situación aparente, entonces, es que puede volver a vincular ⌘+ ⌫solo en el formato NeXT de estilo antiguo, y no en el formato de plist XML. Mis preguntas son:
- ¿Es correcto o la sintaxis debería cambiar de alguna manera cuando cambio al formato XML?
- ¿Me arrepentiré de mover el resto de mi
DefaultKeyBinding.dict
archivo a la sintaxis anterior? No sería mucho trabajo hacerlo, es solo una o dos docenas de entradas, pero no estoy seguro de si el estilo antiguo está en desuso o mal aconsejado por alguna otra razón.
Editar: Original DefaultKeyBinding.dict
Alguien solicitó información sobre mi archivo original en los comentarios, por lo que creo que también podría incluir todo aquí.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key></key>
<string>complete:</string>
<key>^ </key>
<string>setMark:</string>
<key>^a</key>
<string>moveToBeginningOfLine:</string>
<key>^e</key>
<string>moveToEndOfLine:</string>
<key>^j</key>
<string>setMark:</string>
<key>^v</key>
<string>pageDown:</string>
<key>^w</key>
<string>deleteToMark:</string>
<key>^x</key>
<dict>
<key>^m</key>
<string>selectToMark:</string>
<key>^x</key>
<string>swapWithMark:</string>
</dict>
<key>~</key>
<string>deleteWordBackward:</string>
<key>~<</key>
<string>moveToBeginningOfDocument:</string>
<key>~></key>
<string>moveToEndOfDocument:</string>
<key>~^h</key>
<string>deleteWordBackward:</string>
<key>~b</key>
<string>moveWordBackward:</string>
<key>~d</key>
<string>deleteWordForward:</string>
<key>~f</key>
<string>moveWordForward:</string>
<key>~n</key>
<string>scrollLineDown:</string>
<key>~p</key>
<string>scrollLineUp:</string>
<key>~v</key>
<string>pageUp:</string>
<key>~</key>
<string>deleteWordBackward:</string>
</dict>
</plist>
^
para el control?
~
y ^
, pero ninguna con $
o @
. (Nota: seguí adelante y agregué mi archivo original DefaultKeyBindings.dict al OP también en caso de que resulte útil).
@
no se acepte en el estilo XML del archivo plist. No tiene mucho sentido, pero no puedo encontrar nada más al respecto.
~
para la opción o$
para el turno?