DefaultKeyBinding.dict
이 ~/Library/KeyBindings/DefaultKeyBinding.dict
파일을 사용하면 Mac OS X에서 고유 한 키 바인딩을 정의 할 수 있습니다. 이전 스타일 NeXT 형식 ( 예 ) 또는 현대식 XML plist 형식 ( 예 ) 의 두 가지 형식 중 하나 일 수 있습니다 .
리 바인딩 ⌘+⌫
나는 명령 백 스페이스 ( ⌘+ ⌫) 를 리 바인드 deleteWordBackward:
하고 싶었고이 AskDifferent 스레드 에서 도움을 얻었습니다 . 이것을 내 DefaultKeyBinding.dict
파일 로 사용하는 것이 좋습니다 .
/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}
이 조언은 효과가 있었지만 (감사합니다!), 이미 DefaultKeybinding.dict
XML 형식으로 작업 하고 있으므로 그렇게 작동 시키려고했습니다. 먼저 기존 파일의 맨 아래 근처에이 텍스트 만 추가했습니다.
<key>@\U007F</key>
<string>deleteWordBackward:</string>
또한 ⌘+ ⌫항목을 사용 하여 새로운 XML 형식의 파일을 만들려고했습니다 .
<?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>
그러나 두 파일 모두 작동하지 않았습니다. 명백한 상황은, 다음, 당신은 바인딩 할 수 있다는 것입니다 ⌘+ ⌫에만 이전 스타일 넥스트 형식으로, 그리고는 XML을 plist 형식으로. 내 질문은 :
- 이것이 정확합니까, 아니면 XML 형식으로 전환 할 때 구문이 어떻게 바뀌어야합니까?
- 나머지
DefaultKeyBinding.dict
파일을 이전 구문으로 옮기는 것을 후회 합니까? 그렇게하는 것이별로 효과적이지 않습니다-1 ~ 24 개의 항목 일뿐입니다. 그러나 이전 스타일이 더 이상 사용되지 않거나 다른 이유로 조언을받지 못할 지 확실하지 않습니다.
편집 : 원본 DefaultKeyBinding.dict
누군가가 주석에 원본 파일에 대한 정보를 요청 했으므로 여기에 전체 내용을 포함시킬 수 있다고 생각합니다.
<?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>
^
통제를 위해?
~
및로 작업 항목이 ^
있지만 $
또는로 작업하는 항목이 없습니다 @
. (참고 : 내가 나서서 잘 회전이 유용 할 수 있음을 경우와 영업 이익 내 원래 DefaultKeyBindings.dict 파일을 추가했습니다.)
@
plist 파일의 XML 스타일에서 허용되지 않는 명령 키를 나타내는 경우 일 수 있습니다 . 그다지 의미가 없지만 그것에 대해 더 이상 아무것도 찾을 수 없습니다.
~
옵션 또는$
전환을 위해?