¿Hay alguna forma de guardar los atajos de teclado personalizados en un archivo de configuración?

8

¿Hay alguna manera de guardar mis atajos de teclado personalizados en un archivo de configuración?

La razón por la que quiero esto es para poder poner ese archivo de configuración en la nube (usando git, dropbox, ...) y vincular este archivo en cada computadora OS X que tengo, así que mis accesos directos siempre se guardan en cada computadora.

    
pregunta cremersstijn 06.03.2014 - 18:25

2 respuestas

3

Uso un script de shell como este:

defaults write -g NSUserKeyEquivalents '{
"Show in Finder"="$@r";
"Reveal"="$@r";
"Use Selection for Find"="@e";
"Find and Replace..."="~@f";
"Find Next"="@g";
"Find Previous"="$@g";
"Line Spacing..."="~@l";
"Zoom Reset"="@0";
"Original Size"="@0";
"Actual Size"="@0";
"Automatically Resize"="@9";
"Automatic Fit"="@9";
"Zoom to Fit"="@9";
"Enter Full Screen"="^@f";
"Exit Full Screen"="^@f";
"Enter Full Screen Mode"="^@f";
"Exit Full Screen Mode"="^@f";
"Toggle Full Screen"="^@f";
"Full Screen"="^@f";
"Fullscreen"="^@f";
"Normal Screen"="^@f";
"Remove Full Screen"="^@f";
"Select Previous Tab"="~@\UF702";
"Previous Tab"="~@\UF702";
"Show Previous Tab"="~@\UF702";
"Previous Workspace"="~@\UF702";
"Select Previous Tab View"="~@\UF702";
"Select Next Tab"="~@\UF703";
"Next Tab"="~@\UF703";
"Show Next Tab"="~@\UF703";
"Next Workspace"="~@\UF703";
"Select Next Tab View"="~@\UF703";
"Shift Left"="^\UF702";
"Decrease Indent Level"="^\UF702";
"Decrease Paragraph Indent"="^\UF702";
"Decrease Level"="^\UF702";
"Shift Right"="^\UF703";
"Increase Indent Level"="^\UF703";
"Increase Paragraph Indent"="^\UF703";
"Increase Level"="^\UF703";
"Shift Up"="^\UF700";
"Move Line Up"="^\UF700";
"Shift Down"="^\UF701";
"Move Line Down"="^\UF701";
"Minimize"="\U200B";
"Minimize All"="\U200B";
}'

defaults write com.apple.finder NSUserKeyEquivalents '{
"Show Package Contents"="@\r";
}'

defaults write -app iTerm NSUserKeyEquivalents '{
"Select Pane Above"="@\UF700";
"Select Pane Below"="@\UF701";
"Previous Pane"="@\UF702";
"Next Pane"="@\UF703";
"Open Autocomplete..."="@;";
}'

defaults write -app Safari NSUserKeyEquivalents '{
"Reopen Last Closed Window"="~@r";
"Reopen All Windows from Last Session"="~$@r";
"Mail Contents of This Page"="\U200B";
}'

defaults write -app Sequential NSUserKeyEquivalents '{
"Move to Trash"="\b";
}'

defaults write -app Skim NSUserKeyEquivalents '{
"Single Page Continuous"="$@0";
"Single Page"="$@1";
"Two Pages"="$@2";
"Crop"="@k";
}'

defaults write -app Transmit NSUserKeyEquivalents '{
"Show Invisible Files"="$@.";
"Hide Invisible Files"="$@.";
"Synchronize..."="$@y";
}'

defaults write -app WriteRoom NSUserKeyEquivalents '{
"Column 40"="$@1";
"Column 50"="$@2";
"Column 60"="$@3";
"Column 66"="$@4";
"Column 80"="$@5";
"Column 90"="$@6";
"Column 120"="$@7";
"Column 200"="$@8";
"Column Window Width"="$@0";
"Enter Full Screen Single"="^@f";
"Exit Full Screen Single"="^@f";
"Enter Full Screen"="$@f";
"Exit Full Screen"="$@f";
}'

Las cadenas de acceso directo utilizan el mismo formato que en DefaultKeyBinding.dict , pero eliminar es \U0008 ( \b ) y la eliminación hacia adelante es \U007F .

Puede deshabilitar un acceso directo asignando el elemento de menú a algo como \U200B (ESPACIO DE ANCHO CERO). nil se activará cuando escriba n en algunas aplicaciones como Audacity. se activará cuando presione cualquier tecla en Safari en 10.9. defaults -app se activará cuando presione la tecla de inicio.

defaults find NSUserKeyEquivalents no funciona con algunas aplicaciones como Finder o Notes.

%code% muestra la configuración actual.

    
respondido por el user495470 07.03.2014 - 10:37
2

Los accesos directos de aplicaciones se pueden almacenar en dos lugares:

  • La lista específica de la aplicación

    ~/Library/Preferences/com.apple.iTunes.plist
    
  • La lista de preferencias globales

    ~/Library/Preferences/.GlobalPreferences.plist
    

Los accesos directos de servicios se almacenan en ~/Library/Preferences/pbs.plist .

    
respondido por el grg 06.03.2014 - 18:54

Lea otras preguntas en las etiquetas