DefaultKeyBinding.dict
~/Library/KeyBindings/DefaultKeyBinding.dictफ़ाइल आपको मैक ओएस एक्स में अपने स्वयं के प्रमुख बाइंडिंग को परिभाषित करने देती है । यह दो प्रारूपों में से एक हो सकता है: पुरानी शैली का नेक्सटी प्रारूप ( उदाहरण ) या आधुनिक शैली का XML प्लिस्ट प्रारूप ( उदाहरण )।
रीबाइंडिंग ⌘+⌫
मैं कमांड-बैकस्पेस ( ⌘+ ⌫) को रीबाइंड करना चाहता था deleteWordBackward:, और मुझे इस AskDifferent थ्रेड में कुछ मदद मिली । यह सुझाव दिया गया था कि मैं इसे अपनी DefaultKeyBinding.dictफ़ाइल के रूप में उपयोग करता हूं :
/* my keybindings */
{
"@\U007F" = "deleteWordBackward:"; /* delete backwards one word */
}
इस सलाह ने काम किया (धन्यवाद, दोस्तों!), लेकिन मेरे पास पहले से ही DefaultKeybinding.dictXML प्रारूप में एक काम है, इसलिए मैं इसे उस तरह से काम करने की कोशिश करना चाहता था। मैंने पहली बार इस पाठ को अपनी मौजूदा फ़ाइल के नीचे जोड़ा है:
<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>
लेकिन न तो फाइलों पर काम हुआ। स्पष्ट स्थिति है, तो यह है कि आप rebind कर सकते हैं ⌘+ ⌫केवल पुरानी शैली नेक्स्ट प्रारूप में है, और नहीं एक्सएमएल plist प्रारूप में। मेरे प्रश्न हैं:
- क्या यह सटीक है, या जब मैं XML प्रारूप पर स्विच कर रहा हूं तो सिंटैक्स को किसी तरह बदलना चाहिए?
- क्या मुझे अपनी शेष
DefaultKeyBinding.dictफ़ाइल को पुराने सिंटैक्स पर ले जाने का पछतावा होगा ? ऐसा करने के लिए बहुत काम नहीं होगा - यह केवल एक या दो दर्जन प्रविष्टियां हैं - लेकिन मुझे यकीन नहीं है कि पुरानी शैली को किसी अन्य कारण से पदावनत या बीमार किया गया है।
संपादित करें: मूल 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 फ़ाइल को ओपी के साथ-साथ उपयोगी होने की स्थिति में जोड़ा।)
@है जैसा कि प्लिस्ट फ़ाइल की XML शैली में स्वीकार नहीं किया गया है। यह बहुत मतलब नहीं है, लेकिन मैं इसके बारे में अधिक कुछ भी नहीं मिल सकता है।

~विकल्प के लिए या$पारी के लिए उपयोग कर रहे हैं ?