DefaultKeyBinding.dict
Il file ~/Library/KeyBindings/DefaultKeyBinding.dict
ti consente di definire i tuoi binding di tasti in Mac OS X. Può essere in uno di due formati: formato NeXT vecchio stile ( esempio ) o formato plist XML di stile moderno ( esempio ).
Riaffilatura ⌘ + ⌫
Volevo riassociare il command-backspace ( ⌘ + ⌫ ) a deleteWordBackward:
, e ho avuto qualche aiuto su questo thread AskDifferent . È stato suggerito di usarlo come file DefaultKeyBinding.dict
:
/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}
Questo consiglio ha funzionato (grazie, ragazzi!), ma ho già un DefaultKeybinding.dict
funzionante nel formato XML, quindi ho voluto provare a farlo funzionare in questo modo. Per prima cosa ho aggiunto solo questo testo nella parte inferiore del mio file esistente:
<key>@\U007F</key>
<string>deleteWordBackward:</string>
E ho anche provato a creare un nuovo file in formato XML con la sola voce ⌘ + ⌫ :
<?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>
Ma nessuno dei due file ha funzionato. La situazione apparente, quindi, è che puoi riassociare ⌘ + ⌫ solo nel formato NeXT vecchio stile e non nel formato plist XML. Le mie domande sono:
- È accurato, o la sintassi dovrebbe cambiare in qualche modo quando sto passando al formato XML?
- Mi pento di spostare il resto del mio file
DefaultKeyBinding.dict
sulla vecchia sintassi? Non sarebbe molto lavoro farlo - è solo una o due dozzine di voci - ma non sono sicuro che il vecchio stile sia deprecato o sconsigliato per qualche altro motivo.
Modifica: Original DefaultKeyBinding.dict
Qualcuno ha richiesto informazioni sul mio file originale nei commenti, quindi immagino che potrei anche includere l'intera cosa qui.
<?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>