2013-01-16 13 views
16

मैं :E से :Explore पर कैसे मानचित्र कर सकता हूं? मैंने एक एक्सटेंशन स्थापित किया है जो E464: Ambiguous use of user-defined command की ओर जाता है यदि मैं अब :E करता हूं, लेकिन मेरी उंगलियां कमांड को नहीं भूलेंगी!मानचित्र: ई से: कमांड मोड में एक्सप्लोर करें?

मैंने map :E :Explore की कोशिश की, लेकिन यह बदसूरत है क्योंकि यह अन्य आदेशों को मुश्किल बनाता है।

मैंने कोशिश की इन:

cmap :E<CR> :Explore<CR> 
cmap :E^M :Explore^M 

जब तक मैं वास्तव में वास्तव में तेजी से प्रवेश मारा (जहां ^M = नियंत्रण-v + प्रवेश), लेकिन ये काम नहीं करते।

उत्तर

32

:E आमतौर पर पर्याप्त होगा यदि :Explore एकमात्र परिभाषित कमांड था जो E से शुरू हुआ था। आपके पास स्पष्ट रूप से ऐसे कई आदेश परिभाषित किए गए हैं, इसलिए :E संदिग्ध है और परिणामस्वरूप त्रुटि होती है।

:cmap तत्काल शाब्दिक प्रतिस्थापन का कारण बनता है और इस प्रकार अनचाहे दुष्प्रभाव होते हैं। एक थोड़ा बेहतर विकल्प :cabbrev है, जो आदेश मोड के लिए संक्षिप्त परिभाषित करने के लिए इस्तेमाल किया जा सकता है:

cabbrev E Explore 

यह या ई दर्जअंतरिक्ष निम्नलिखित से चलाता है। पूर्व वांछित है क्योंकि टाइपिंग : दर्ज करें :Explore का आह्वान करेगा, लेकिन बाद में कमांड मोड में दुष्प्रभाव होंगे।

आदेश में :E के लिए ठीक से :Explore में एलियास की जा करने के लिए, यह एक अलग आदेश के रूप में परिभाषित किया जाना चाहिए:,

command! E Explore 

हालांकि, :command E है, जो सभी परिभाषित आदेशों E के साथ शुरू की सूची देता पता चलता है कि :E और :Explore अलग गुण हैं। उदाहरण के लिए, :E ~ निष्पादित करना असंभव है क्योंकि :E किसी भी तर्क को स्वीकार नहीं करता है। इसके अलावा, :Explore के विपरीत, :E निर्देशिकाओं को स्वत: पूर्ण नहीं करता है।

इन कमियों को दूर करने के लिए, :E को :Explore जैसा ही परिभाषित किया जाना चाहिए। :verbose command Explore निष्पादित स्क्रिप्ट का स्थान दिखाता है जिसमें :Explore परिभाषित किया गया है;

command! -nargs=* -bar -bang -count=0 -complete=dir E Explore <args> 

हालांकि यह :command Explore द्वारा दी गई जानकारी से इन विशेषताओं के सबसे निकालना संभव है, फिर भी कुछ फ़र्क हो सकता है, इस तरह के इस में -bar के रूप में: :E तो एक ही तरीके से, <args> के योग के साथ परिभाषित किया जा सकता मामला।

एनबी। यदि :Explore और :Example परिभाषित किए गए हैं, :Exp और :Exa सबसे कमजोर अनौपचारिक आदेश हैं जिनका उपयोग किया जा सकता है। स्पष्ट रूप से :E उनमें से एक के लिए उपरोक्त, विम के डिफ़ॉल्ट व्यवहार को ओवरराइड करता है और असंबद्धता की अनुमति देता है।हालांकि, :Ex अभी भी संदिग्ध होगा।

+10

एक्सप्लोरर खोलने का एक और त्वरित तरीका ': e.' का उपयोग कर रहा है। यह 'वर्तमान निर्देशिका' एक्सप्लोर करेगा। शिफ्ट कुंजी की आवश्यकता नहीं होने का भी इसका अच्छा लाभ है। –

+0

@ पीटररकर नीट, लेकिन एक पूरी तरह से अलग उपयोग के मामले के लिए। – Shriken

+0

पूर्ण n00b के लिए, 'आदेश दें! ई '~ .vimrc' फ़ाइल में एक्स एक्सप्लोर करें, फिर: ई ठीक से उपनाम करेगा: एक्सप्लोर करें। – N0thing