31

सब्लिमे टेक्स्ट 3 में, मैं को स्वत: पूर्ण ड्रॉप डाउन से किसी आइटम का चयन करने के लिए कुंजी दर्ज करना चाहता हूं, और ऐसा करने के लिए केवल टैब कुंजी को अनुमति दें।स्वत: पूर्ण के लिए एंटर कुंजी को अक्षम/ओवरराइड कैसे करें?

{ "keys": ["enter"], "command": "commit_completion", "context": 
    [ 
     { "key": "auto_complete_visible" }, 
     { "key": "setting.auto_complete_commit_on_tab", "operand": false } 
    ] 
}, 

ऐसा लगता है कि अगर मैं config कि प्रवेश से निकाल देने ड्रॉप डाउन में किसी आइटम का चयन नहीं होगा कि:

मैं इनबिल्ट Default (OSX).sublime-keymap फ़ाइल में इस खंड पाया। दुर्भाग्य से इस फ़ाइल को बदलने की सिफारिश नहीं की जाती है, और केवल इसे User फ़ाइलों में ओवरराइड करने के लिए अनुशंसा की जाती है। मुझे नहीं लगता कि मैं वास्तव में .app सामग्री को संशोधित किए बिना इसे संपादित कर सकता हूं।

मैंने विभिन्न अनुभागों को हटाकर इसे ओवरराइड करने का प्रयास किया, और "keys": ["enter"] को छोड़कर सब कुछ भी हटा दिया, लेकिन कुछ भी काम नहीं करता है।

इनबिल्ट Default (OSX).sublime-keymap और केवल User/Default (OSX).sublime-keymap फ़ाइल को संशोधित किए बिना मैं इसे प्राप्त करने के बारे में कैसे जाउंगा?

उत्तर

50

मैं उदात्त पाठ 3, इस्तेमाल नहीं किया है लेकिन मुझे नहीं लगता निम्नलिखित उदात्त पाठ 2.

आप क्या हासिल करना चाहते हैं वास्तव में उदात्त पाठ में एक मानक सुविधा है के बाद से बदल गया है है। आपको बस इसे चालू करना होगा।

अपने कोड आप उद्धृत से इस लाइन ...

{ "key": "setting.auto_complete_commit_on_tab", "operand": false } 

... का अर्थ है "केवल आदेश पर अमल सेटिंग 'auto_complete_commit_on_tab' कहा जाता है गलत पर सेट है, तो"। तो बस उस सेटिंग को चालू करें। उपयोगकर्ता/Preferences.sublime-सेटिंग में "auto_complete_commit_on_tab": true

// By default, auto complete will commit the current completion on enter. 
// This setting can be used to make it complete on tab instead. 
// Completing on tab is generally a superior option, as it removes 
// ambiguity between committing the completion and inserting a newline. 
"auto_complete_commit_on_tab": false, 

रखो:

डिफ़ॉल्ट/Preferences.sublime-सेटिंग्स में। दोनों उल्लिखित फाइलों को प्राथमिकता मेनू के माध्यम से एक्सेस किया जा सकता है। "सक्षम करने से:

+9

मैं प्यार * इस सेटिंग" यह बेहतर है अगर यह नीति सही है, लेकिन हम गलत पर यह डिफ़ॉल्ट रूप से स्थापित करने के लिए जा रहे हैं "के लिए विवरण – cimmanon

+0

ऐसा लगता है कि ऐसा इसलिए है क्योंकि इसकी आदत हो करने के लिए समय लगता है * टैब पर प्रतिबद्धता की अनुशंसा की जाती है, लेकिन इसका उपयोग करने में थोडा समय लगेगा। " http://www.sublimetext.com/docs/2/auto_complete.html –

10

आप इसे एक मौजूदा आदेश के लिए असाइन कर सकते हैं। User/Default (OSX).sublime-keymap

{ "keys": ["enter"], "command": "noop", "context": 
    [ 
     { "key": "auto_complete_visible" }, 
     { "key": "setting.auto_complete_commit_on_tab", "operand": false } 
    ] 
} 

यदि आप स्थापित/एक कमांड noop आप इस आदेश को बदलने की आवश्यकता होगी है कि एक प्लगइन लिखना दी के लिए निम्न जोड़ने का प्रयास करें।

संपादित

Lydell के समाधान के लिए बेहतर है :) कि सेटिंग के बारे में भूल (हालांकि यह संदर्भ इसलिए मैं पता होना चाहिए में है ...)। मेरा जवाब मानें कि एक और सामान्य "कुंजीबाइंडिंग को अक्षम कैसे करें"।

संबंधित मुद्दे