सेट और: सेट में क्या अंतर है?


17

मैं टिम पोप के विम-सेंसिबल प्लगइन को देख रहा था और मैंने इसे README में देखा ...

सुविधाओं की आधिकारिक सूची के लिए स्रोत देखें। (चिंता न करें, यह ज्यादातर :setकॉल है।)

जब मैंने स्रोत को देखा, तो :setकॉल इस तरह से हैं ...

set autoindent

:इससे पहले कोई नहीं है set

मुझे पूरा यकीन है कि मैंने वास्तव :setमें उदाहरण .vimrcएस में भी देखा है ।

अंतर क्या है?

मुझे किस रूप में उपयोग करना चाहिए .vimrc?

जवाबों:


22

एक "स्क्रिप्ट" पूर्व कमांड के अनुक्रम को चलाने से ज्यादा कुछ नहीं करती है। एक "पूर्व आदेश" वह है जो आप टाइप करते हैं जब आप :विम में उपयोग करते हैं । उदाहरण के लिए :wq, :set wrap, :e file, आदि सभी पूर्व आदेशों हैं।

:आदेश का हिस्सा नहीं है; कमांड-लाइन मोड शुरू करने के लिए यह केवल एक कीस्ट्रोक है; आपको हमेशा शामिल करने की आवश्यकता नहीं होती है :, उदाहरण के लिए जब आप कई आदेशों की श्रृंखला बनाते हैं तो आपको एक से अधिक बार |दोहराने की आवश्यकता नहीं होती है :। उदाहरण के लिए, :write | quitठीक काम करेगा।

सुविधा के लिए, :हालांकि शामिल किया जा सकता है। यह कॉपी / चिपकाने और इस तरह के एड्स, लेकिन आपके पास नहीं है। इससे कोई फर्क नहीं पड़ता। वास्तव में, सभी :प्रमुखों को अनदेखा किया जाता है। :write, writeऔर :::::::::writeकार्यक्षमता के संदर्भ में सभी समान हैं (हालांकि स्पष्ट रूप से विवेक की दृष्टि से नहीं)।

यह :स्पष्ट करने के लिए प्रलेखन में शामिल करने के लिए अक्सर उपयोगी होता है कि यह एक पूर्व कमांड है। उदाहरण के लिए अगले शब्द पर जाने के लिए या सामान्य मोड कमांड का wउल्लेख कर सकते हैं ।:ww

ध्यान दें कि यह सब कुछ पर लागू होता है । जैसे नियंत्रण संरचनाओं ifऔर endifहैं भी सिर्फ पूर्व आदेशों; आप कुछ इस प्रकार लिख सकते हैं:

:if 1
:echo 'one'
:endif

विम कमांडलाइन से बस ठीक है; "स्क्रिप्ट" की कोई आवश्यकता नहीं। विम स्क्रिप्ट बहुत "गैर-जादू" और "गैर-विशेष" हैं; सब कुछ आप पूर्व कमांडलाइन से कर सकते हैं जो आप विम स्क्रिप्ट में कर सकते हैं, और इसके विपरीत।


6

इसमें कोई फर्क नही है। यदि vim :आपके vimrc (या किसी भी vimcript फ़ाइल) में एक कमांड से पहले देखता है तो वह इसे अनदेखा कर देगा। इसके अलावा, जैसा कि ऊपर उल्लेख किया गया है, यह setकमांड के लिए विशिष्ट नहीं है ।

आमतौर पर :इसका मतलब है कि कमांड आपके vimrc (या अन्य vimscript फ़ाइल) में डालने के बजाय आपके द्वारा चलाया जाएगा , लेकिन यह आमतौर पर संदर्भ पर निर्भर करता है। व्यक्तिगत रूप से मुझे लगता है कि vimscript फाइलों में कमांड्स से पहले कोलन नहीं डालना ज्यादा बेहतर लगता है, और ऐसा लगता है कि अन्य लोग भी ऐसा करते हैं।

यह देखने के बारे में अधिक के लिए :help script


:h scriptया :h vim-script-intro(समतुल्य)
VanLaser
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.