DefaultKeyBinding.dict
Le ~/Library/KeyBindings/DefaultKeyBinding.dict
fichier vous permet de définir vos propres raccourcis clavier sous Mac OS X. Il peut être dans l'un des deux formats: format NeXT à l'ancienne ( exemple ) ou format XML plist de style moderne ( exemple ).
Reliure ⌘+⌫
Je voulais relier la commande-backspace ( ⌘+ ⌫) à deleteWordBackward:
, et j'ai obtenu de l'aide dans ce thread AskDifferent . Il a été suggéré que j'utilise ceci comme mon DefaultKeyBinding.dict
fichier:
/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}
Ce conseil a fonctionné (merci, les gars!), Mais j'ai déjà un travail DefaultKeybinding.dict
au format XML, donc je voulais essayer de le faire fonctionner de cette façon. J'ai d'abord ajouté juste ce texte près du bas de mon fichier existant:
<key>@\U007F</key>
<string>deleteWordBackward:</string>
Et j'ai également essayé de créer un tout nouveau fichier au format XML avec juste l' entrée ⌘+ ⌫:
<?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>
Mais aucun des fichiers n'a fonctionné. La situation apparente est donc que vous pouvez relier ⌘+ ⌫uniquement dans le format NeXT à l'ancienne, et non dans le format XML plist. Mes questions sont:
- Est-ce exact ou la syntaxe devrait-elle changer d'une manière ou d'une autre lorsque je passe au format XML?
- Vais-je regretter d'avoir déplacé le reste de mon
DefaultKeyBinding.dict
fichier vers l'ancienne syntaxe? Ce ne serait pas beaucoup de travail de le faire - ce n'est qu'une ou deux douzaines d'entrées - mais je ne sais pas si l'ancien style est déconseillé ou mal avisé pour une autre raison.
Modifier: Original DefaultKeyBinding.dict
Quelqu'un a demandé des informations sur mon dossier d'origine dans les commentaires, donc je pense que je pourrais aussi bien inclure le tout ici.
<?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>
^
pour le contrôle?
~
et ^
, mais aucune avec $
ou @
. (Remarque: j'ai continué et j'ai ajouté mon fichier DefaultKeyBindings.dict original à l'OP au cas où cela se révélerait utile.)
@
ne soit pas acceptée dans le style XML du fichier plist. Cela n'a pas beaucoup de sens mais je ne trouve rien de plus à ce sujet.
~
une option ou$
un quart de travail?