DefaultKeyBinding.dict
Mit der ~/Library/KeyBindings/DefaultKeyBinding.dict
Datei können Sie Ihre eigenen Tastenkombinationen in Mac OS X definieren. Sie kann in einem von zwei Formaten vorliegen: im NeXT-Format im alten Stil ( Beispiel ) oder im XML-Plist-Format im modernen Stil ( Beispiel ).
Nachbinden ⌘+⌫
Ich wollte Command-Backspace ( ⌘+ ⌫) neu binden deleteWordBackward:
und habe in diesem AskDifferent-Thread Hilfe bekommen . Es wurde vorgeschlagen, dass ich dies als meine DefaultKeyBinding.dict
Datei verwende:
/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}
Dieser Rat hat funktioniert (danke, Leute!), Aber ich habe bereits eine Arbeit DefaultKeybinding.dict
im XML-Format, also wollte ich versuchen, es so zum Laufen zu bringen. Ich habe zuerst nur diesen Text am Ende meiner vorhandenen Datei hinzugefügt:
<key>@\U007F</key>
<string>deleteWordBackward:</string>
Außerdem habe ich versucht, eine brandneue XML-formatierte Datei mit nur dem Eintrag ⌘+ zu erstellen ⌫:
<?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>
Aber keine der Dateien funktionierte. Die offensichtliche Situation ist also, dass Sie ⌘+ ⌫nur im alten NeXT-Format und nicht im XML-Plist-Format neu binden können . Meine Fragen sind:
- Ist das korrekt oder sollte sich die Syntax irgendwie ändern, wenn ich zum XML-Format wechsle?
- Bereue ich es, den Rest meiner
DefaultKeyBinding.dict
Datei auf die alte Syntax verschoben zu haben? Es wäre nicht viel Arbeit, dies zu tun - es sind nur ein oder zwei Dutzend Einträge -, aber ich bin mir nicht sicher, ob der alte Stil aus einem anderen Grund veraltet oder schlecht beraten ist.
Bearbeiten: Original DefaultKeyBinding.dict
Jemand hat in den Kommentaren Informationen zu meiner Originaldatei angefordert, daher denke ich, dass ich das Ganze genauso gut hier aufnehmen könnte.
<?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>
^
zur Kontrolle?
~
und ^
, aber keine mit $
oder @
. (Hinweis: Ich habe meine ursprüngliche Datei DefaultKeyBindings.dict ebenfalls zum OP hinzugefügt, falls sich dies als nützlich herausstellt.)
@
im XML-Stil der plist-Datei nicht akzeptiert wird. Es macht nicht viel Sinn, aber ich kann nichts mehr darüber finden.
~
für Option oder$
für Schicht?