DefaultKeyBinding.dict
Các ~/Library/KeyBindings/DefaultKeyBinding.dict
tập tin cho phép bạn xác định tổ hợp phím của riêng bạn trong Mac OS X. Nó có thể là một trong hai định dạng: kiểu cũ định dạng NeXT ( ví dụ ) hoặc hiện đại mang phong cách định dạng plist XML ( ví dụ ).
Rebinding ⌘+⌫
Tôi muốn khởi động lại backspace lệnh ( ⌘+ ⌫) deleteWordBackward:
và tôi đã nhận được một số trợ giúp trong chuỗi AskDifferent này . Có ý kiến cho rằng tôi sử dụng nó làm DefaultKeyBinding.dict
tập tin của mình :
/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}
Lời khuyên này đã có hiệu quả (cảm ơn các bạn!), Nhưng tôi đã làm việc DefaultKeybinding.dict
ở định dạng XML, vì vậy tôi muốn thử làm cho nó hoạt động theo cách đó. Lần đầu tiên tôi chỉ thêm văn bản này ở gần cuối tệp hiện có của mình:
<key>@\U007F</key>
<string>deleteWordBackward:</string>
Và tôi cũng đã thử tạo một tệp có định dạng XML hoàn toàn mới chỉ với mục ⌘+⌫
<?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>
Nhưng không tập tin nào làm việc. Do đó, tình huống rõ ràng là bạn chỉ có thể rebind ⌘+ ⌫ở định dạng NeXT kiểu cũ chứ không phải ở định dạng plist XML. Câu hỏi của tôi là:
- Điều này có chính xác không, hay cú pháp nên thay đổi bằng cách nào đó khi tôi chuyển sang định dạng XML?
- Tôi có hối tiếc khi chuyển phần còn lại của
DefaultKeyBinding.dict
tệp sang cú pháp cũ không? Sẽ không có nhiều việc phải làm như vậy - đó chỉ là một hoặc hai chục mục - nhưng tôi không chắc kiểu cũ có bị phản đối hay không được khuyến khích vì một số lý do khác.
Chỉnh sửa: Bản gốc DefaultKeyBinding.dict
Ai đó đã yêu cầu thông tin về tập tin gốc của tôi trong các bình luận, vì vậy tôi cho rằng tôi cũng có thể bao gồm toàn bộ điều ở đây.
<?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>
^
để kiểm soát?
~
và ^
, nhưng không có $
hoặc @
. (Lưu ý: Tôi đã tiếp tục và thêm tệp DefaultKeyBindings.dict ban đầu của mình vào OP trong trường hợp hóa ra là hữu ích.)
@
không được chấp nhận theo kiểu XML của tệp plist. Nó không có ý nghĩa nhiều nhưng tôi không thể tìm thấy gì thêm về nó.
~
cho tùy chọn hoặc$
cho ca?