구성 파일에 사용자 정의 키보드 단축키를 저장하는 방법이 있습니까?


9

사용자 정의 키보드 단축키를 구성 파일에 저장하는 방법이 있습니까?

내가 원하는 이유는 git, dropbox 등을 사용하여 클라우드에 구성 파일을 넣고이 파일을 각 OS x 컴퓨터에 연결하면 바로 가기가 항상 각 컴퓨터에 저장됩니다.

답변:


4

다음과 같은 쉘 스크립트를 사용합니다.

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

바로 가기 문자열은 DefaultKeyBinding.dict 와 동일한 형식을 사용 하지만 delete는 \U0008( \b)이고 forward delete는 \U007F입니다.

\U200B(ZERO-WIDTH SPACE) 와 같은 메뉴 항목을 지정하여 바로 가기를 비활성화 할 수 있습니다 . Audacity와 같은 일부 응용 프로그램에서 nil입력하면 트리거됩니다 n. \010.9의 Safari에서 아무 키나 누르면 트리거됩니다. \1홈 키를 누르면 트리거됩니다.

defaults -app Finder 또는 Notes와 같은 일부 응용 프로그램에서는 작동하지 않습니다.

defaults find NSUserKeyEquivalents 현재 설정을 보여줍니다.


설치 스크립트가 있습니다 defaults write -g NSUserKeyEquivalents '{ "Zoom"="@$m";}'-조합의 기능 @$m은 무엇입니까? 당신은 그 각각 설명 할 수 @, $m, 그들의 사용을?
Growler

2

앱 바로 가기는 다음 두 곳에 저장할 수 있습니다.

  • 앱별 plist

    ~/Library/Preferences/com.apple.iTunes.plist
    
  • 글로벌 환경 설정 plist

    ~/Library/Preferences/.GlobalPreferences.plist
    

서비스 바로 가기는에 저장됩니다 ~/Library/Preferences/pbs.plist.


~/Library/Preferences/pbs.plistMacOS Sierra의 위치가 아닌 것 같습니다. 시에라 어디에 있는지 아세요?
Growler
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.