2012-11-19 6 views
5

में गायब नेता ने मुझे लगभग दो साल का प्रोग्रामिंग लिया जब तक कि मैंने विम के लिए टेक्स्टमैट स्विच करने का फैसला नहीं किया और मुझे अब तक यह पसंद है। हालांकि, कुछ दिनों के लिए इसके साथ खेलने के बाद मैंने एक पहला मुद्दा मारा।विम

शुरुआत के रूप में मैं जानस के लिए पहुंचे क्योंकि बहुत से लोग करते हैं लेकिन अंत में मैंने सामान को बेहतर तरीके से जानने के लिए स्क्रैच से अपना स्वयं का कॉन्फ़िगरेशन बनाने का निर्णय लिया। मैंने अपनी कॉन्फ़िगरेशन का समर्थन किया और मेरी नई .vimrc फ़ाइल लिखना शुरू कर दिया। लेकिन बाद में (बहुत जल्दी) मैंने देखा कि नेता कुंजी काम नहीं कर रही है, जब मैं इसे दबाता हूं तो यह कुछ भी नहीं करता है, ठीक है, यह सिर्फ बीप है। मैंने एक नेता के लिए कुंजी नहीं बदली और न ही कोई महत्वपूर्ण मैपिंग किया ताकि मैं थोड़ी आश्चर्यचकित हो।

तो एक बार फिर मैंने एक स्वच्छ स्थिति से शुरू करने के लिए अपनी .vimrc फ़ाइल और .vim निर्देशिका हटा दी। यह मदद नहीं की। इसलिए मैंने विम खोला और यह देखने के लिए कि क्या यह मदद करता है, एक नेता को एक अलग कुंजी पर फिर से कॉन्फ़िगर करने का प्रयास किया।

:let mapleader 
> E121: Undefined variable: mapleader 
:let mapleader = ',' 
:let mapleader 
> mapleader   , 

ठीक लग रहा है लेकिन वास्तव में कुछ भी नहीं हुआ। यहां तक ​​कि जब मैं इसे एक अलग कुंजी के नीचे रखता हूं तो मैक बस बीप करता है और यह करता है। मेरी होम निर्देशिका में कोई विम कॉन्फ़िगरेशन नहीं है, कोई प्लगइन्स नहीं, कुछ भी नहीं। विम कंसोल के बजाय '.vimrc' में नेता सेट करना या तो मदद नहीं करता है।

मैंने मुख्य दबाव के लिए टाइमआउट पर कुछ चर्चाएं देखीं लेकिन मुझे कहीं भी नहीं मिला है।

मैं थोड़ी देर में फंस गया हूं और अपने दिन के दिन के लिए विम का उपयोग करने में सक्षम नहीं हूं, भले ही मुझे पसंद आए। किसी भी मदद को बहुत सराहा जाएगा।

+0

आप कोई vimrc है, तो क्या नक्शे आप mapleader की कार्यक्षमता का परीक्षण करने का उपयोग कर रहे हैं? –

+0

मैं केवल नेता कुंजी दबाता हूं, मुझे उम्मीद है कि यह नीचे कंसोल में दिखाना होगा जैसे कि आप टाइप करते हैं: '। नीचे कॉनर के उत्तर के तहत मेरी टिप्पणी देखें। – Kreeki

उत्तर

5

ध्यान से इन चरणों का पालन ...

  1. अपने $HOME निर्देशिका में एक खाली .vimrc फ़ाइल बनाएँ:

    $ cd 
    $ touch .vimrc 
    

    विम अब "nocompatible" मोड है जो हम सब क्या चाहते हैं में चलाने चाहिए।

  2. अपने खाली ~/.vimrc खोलें और इन पंक्तियों जोड़ें:

    let mapleader="," 
    nnoremap <leader>a :echo("\<leader\> works! It is set to <leader>")<CR> 
    
  3. मारो ,a, आप कमांड लाइन में निम्न संदेश प्राप्त करना चाहिए।

    <leader> works! It is set to , 
    

<leader> शुरू से ही उपयोगी सही नहीं हो सकता है, हालांकि, वहाँ अन्य बातों के बारे में चिंता कर रहे हैं।

filetype plugin indent on 
syntax on 
set autoindent 
set hidden 
set incsearch 
  1. filetype plugin indent on विम की filetype पहचान करने के लिए अनुमति देता है:

    वैसे भी, वहाँ से, मैं तुम्हें कि काफी अपने जीवन आसान हो जाएगा ये कुछ गैर स्वच्छंद सेटिंग जोड़ने के लिए सुझाव देंगे आपके द्वारा खोलने वाली फ़ाइलें और अंतर्निहित फ़ाइल प्रकार-विशिष्ट सेटिंग्स (इंडेंट नियम, समापन ...) के सभी प्रकारों को लागू करने के लिए।

  2. syntax on पर प्रकाश डाला वाक्य रचना बदल जाता है।
  3. set autoindent प्रतियां वर्तमान पंक्ति का इंडेंट जब आप <CR> जीवन कर इसके बंद होने पर इतना बेकार है।
  4. set hidden आप वर्तमान एक के लिए परिवर्तन किए बिना इसे एक नई फ़ाइल से या किसी अन्य बफर करने के लिए स्विच को खोलने के लिए अनुमति देता है।
  5. set incsearch खोज-आधारित नेविगेशन (/foo, ?bar) तुरंत बढ़िया बढ़ती खोज को चालू करके बनाता है।

उसके बाद, सेटिंग और मैपिंग जोड़ने के लिए आप पर निर्भर है कि आपको उनकी आवश्यकता है।

5

यह काम कर रहा है, लेकिन परिवर्तन से पहले मैपिंग बदल गए नेता चरित्र को समझ नहीं पाएंगे। उदाहरण के लिए, अगर मैं एक .vimrc है

nnoremap <Leader>a :echo "test"<cr> 

तब मैं vim को शुरू करने तथा \a मारा नीचे बाईं ओर स्थित test प्राप्त करने के लिए कर सकते हैं का कहना है कि। हालांकि, अगर आप :let mapleader = ',' टाइप करते हैं तो ,a करें यह काम नहीं करता है क्योंकि आपने मानचित्रण के बाद नेता को बदल दिया है। यदि आप :nnoremap <Leader>a :echo "test"<cr> टाइप करें और ,a फिर से प्रयास करें तो यह काम करेगा। इस प्रकार, :let mapleader = मैपिंग से पहले आना चाहिए जो <Leader> का उपयोग करता है।

+0

मैं समझता हूं कि यह अजीब चीज है। मैं डाल 'nnoremap एक:" परीक्षण "' '.vimrc' (केवल वहाँ बात) में गूंज, vim करने के लिए जाना, प्रेस' \ A'। यह '\' के लिए बीप करता है और मुझे 'ए' की तरह डालने मोड में डाल देता है। वही अगर मैं मैपिंग से पहले 'मैपलेडर = "," '.vimrc' को जोड़ता हूं और विम को आग लगा देता हूं। – Kreeki

+0

विम का क्या संस्करण है? – Conner

+0

MacVim और टर्मिनल में विम दोनों कर रहे हैं 7.3 – Kreeki