Czy istnieje sposób na zapisanie niestandardowych skrótów klawiaturowych w pliku konfiguracyjnym?


9

Czy istnieje sposób na zapisanie niestandardowych skrótów klawiaturowych w pliku konfiguracyjnym?

Powodem tego jest to, że mogę umieścić ten plik konfiguracyjny w chmurze (używając git, dropbox, ...) i połączyć ten plik na każdym komputerze, który mam, więc moje skróty są zawsze zapisywane na każdym komputerze.

Odpowiedzi:


4

Używam takiego skryptu powłoki:

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

Ciągi skrótów używają tego samego formatu, co w DefaultKeyBinding.dict , ale delete is \U0008( \b), a forward forward is \U007F.

Możesz wyłączyć skrót, przypisując element menu do czegoś podobnego \U200B(PRZESTRZEŃ ZEROWA). nilbyłby wyzwalany podczas pisania nw niektórych aplikacjach, takich jak Audacity. \0byłby uruchamiany po naciśnięciu dowolnego klawisza Safari w wersji 10.9. \1byłby uruchamiany po naciśnięciu klawisza home.

defaults -app nie działa z niektórymi aplikacjami, takimi jak Finder lub Notes.

defaults find NSUserKeyEquivalents pokazuje bieżące ustawienia.


Mam skrypt instalacyjny z defaults write -g NSUserKeyEquivalents '{ "Zoom"="@$m";}'- Co robi kombinacja @$m? Można wyjaśnić, każdy z nich, @, $, i m, a ich wykorzystanie?
Growler,

2

Skróty aplikacji można przechowywać w dwóch miejscach:

  • Plist specyficzny dla aplikacji

    ~/Library/Preferences/com.apple.iTunes.plist
    
  • Obowiązują globalne preferencje

    ~/Library/Preferences/.GlobalPreferences.plist
    

Skróty usług są przechowywane w ~/Library/Preferences/pbs.plist.


~/Library/Preferences/pbs.plistnie wydaje się być lokalizacją na MacOS Sierra. Czy wiesz, gdzie to jest w Sierra?
Growler
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.