Existe uma maneira de salvar seus atalhos de teclado personalizados em um arquivo de configuração?


9

Existe uma maneira de salvar meus atalhos de teclado personalizados em um arquivo de configuração?

A razão pela qual eu quero isso é para que eu possa colocar esse arquivo de configuração na nuvem (usando git, dropbox, ...) e vincular esse arquivo em cada computador OS x que possuo, para que meus atalhos sejam sempre salvos em cada computador.

Respostas:


4

Eu uso um 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";
}'

As seqüências de atalho usam o mesmo formato que em DefaultKeyBinding.dict , mas delete é \U0008( \b) e forward delete é \U007F.

Você pode desativar um atalho atribuindo o item de menu a algo como \U200B(ZERO-WIDTH SPACE). nilseria acionado quando você digitasse nalguns aplicativos como o Audacity. \0seria acionado quando você pressionasse qualquer tecla no Safari na versão 10.9. \1será acionado quando você pressionar a tecla Home.

defaults -app não funciona com alguns aplicativos como o Finder ou o Notes.

defaults find NSUserKeyEquivalents mostra as configurações atuais.


Eu tenho um script de instalação com defaults write -g NSUserKeyEquivalents '{ "Zoom"="@$m";}'- O que a combinação @$mfaz? Você pode explicar cada um desses, @, $, e m, e seu uso?
Growler

2

Os atalhos de aplicativos podem ser armazenados em dois locais:

  • A lista específica de aplicativos

    ~/Library/Preferences/com.apple.iTunes.plist
    
  • As Preferências Globais

    ~/Library/Preferences/.GlobalPreferences.plist
    

Os atalhos de serviços são armazenados ~/Library/Preferences/pbs.plist.


~/Library/Preferences/pbs.plistnão parece ser o local no MacOS Sierra. Você sabe onde fica na Sierra?
Growler
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.