2011-09-24 15 views
9

आम तौर पर एक यूनिक्स सिस्टम पर, /etc या /etc/vim निर्देशिका में वैश्विक vimrc फ़ाइल है। आपके पास अपनी होम निर्देशिका में .vimrc फ़ाइल भी हो सकती है जो आपके vi सत्र को कस्टमाइज़ कर सकती है।.vimrc और vim कॉन्फ़िगरेशन पर कुछ प्रश्न

क्या आपके निर्देशिका पेड़ में कहीं और .vimrc होना संभव है ताकि आप विभिन्न निर्देशिकाओं में विभिन्न vi गुणों का उपयोग कर सकें? यह सुविधाजनक होगा क्योंकि संपादक गुण जो आपको पाइथन को सबसे तेज़ी से संपादित करने में मदद करते हैं, वे संपादन, कहने, HTML के लिए अलग हैं।

इस तरह की चीज मेरे मैक या लिनक्स lappies पर डिफ़ॉल्ट काम नहीं लगती है। क्या ऐसा करने का कोई तरीका है?

+0

ऐसे कई प्लगइन्स हैं जो ऐसा करते हैं। यह भी देखें http://stackoverflow.com/questions/2564664/how-to-write-a-vimrc-file-that-automatically-applies-only-to-a- विशिष्ट- फ़ोल्डर – sehe

उत्तर

6

विम इस के लिए कार्यक्षमता का निर्माण किया है:

:se exrc 
Enables the reading of .vimrc, .exrc and .gvimrc in the current 
directory. If you switch this option on you should also consider 
setting the 'secure' option (see |initialization|). Using a local 
.exrc, .vimrc or .gvimrc is a potential security leak, use with care! 
also see |.vimrc| and |gui-init|. 

http://damien.lespiau.name/blog/2009/03/18/per-project-vimrc/

देखें उचित परियोजना सहायता के लिए, कई प्लगइन्स समान विशेषताएं हैं देखते हैं। (जिसका मैं उपयोग नहीं करता, इसलिए मैं किसी की सिफारिश नहीं कर सकता)।

5

यदि यह वास्तव में विभिन्न फ़ाइल प्रकारों (डिस्क पर विभिन्न स्थानों की बजाय) के लिए अलग-अलग सेटिंग्स रखने का प्रश्न है, तो इन फ़ाइलों को ~/.vim/ftplugin में रखना सही काम है। उदाहरण के लिए, यह मेरा ~/.vim/ftplugin/haskell.vim की सामग्री है:

setlocal autoindent 
setlocal noexpandtab 
setlocal tabstop=4 
setlocal softtabstop=4 
setlocal shiftwidth=4 

स्क्रिप्ट के लिए सही नाम पता लगाने के लिए, बस फ़ाइल की तरह आप संपादित और :set ft? आदेश (:set filetype? का संक्षिप्त रूप) का उपयोग करना चाहते खोलें। :help ftplugin के माध्यम से अधिक जानकारी उपलब्ध है।

+0

मैं दोनों को स्वीकार करना चाहता हूं, क्योंकि आपका उत्तर और सीहे बहुत उपयोगी हैं। धन्यवाद! – ncmathsadist