क्या .vimrc को कई फाइलों में विभाजित किया जा सकता है?


11

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

~/.
 ├── .vimrc
 └── .vim
     └── custom
         ├── java.vim
         └── haskell.vim

जहाँ .vimrc कुछ इस तरह दिख सकता है

import java
import haskell

क्या ऐसा कुछ करना संभव है, या मैं सिर्फ चीजों को ओवरकंप्लीकेट कर रहा हूं? मुझे लगता है कि मैं जो हासिल करने की कोशिश कर रहा हूं वह वही है जो \inputकमांड के साथ लाटेक्स में है ...


2
क्या कोई कारण है जो आप इन में नहीं डालते हैं ~/.vim/after/ftplugin/$language.vim?
व्रचिनि

1
वास्तव में, मुझे नहीं करना चाहिए? क्या अंदर जाना है after/ftplugin?
lindhe

2
यदि आप कोई फाइल लिखते हैं, जैसे, ~/.vim/after/ftplugin/java.vimआप javaफाइल खोलते हैं तो यह अपने आप चल जाएगी । यह वही है जो आप चाहते हैं।
19

जवाबों:


5

आप ftplugins की तलाश कर रहे हैं। यही उनका उद्देश्य है।

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

यहाँ कुछ और पूर्ण उत्तर दिए गए हैं:


11

हां, जिस विम कमांड को आप देख रहे हैं, वह है :sourceया :runtimeउन्हें खींचने के लिए runtimepath

उदाहरण के लिए, आप अपने में ऐसा कर सकते हैं .vimrc:

runtime custom/java.vim
runtime custom/haskell.vim

अनुमान ~/.vimहै कि आपके runtimepath(यह डिफ़ॉल्ट रूप से है)।

आप ~/.vim/pluginनिर्देशिका में अपनी स्क्रिप्ट भी छोड़ सकते हैं ; डॉक्स में राइट-प्लगइन देखें । विम स्वचालित रूप से प्लगइन निर्देशिका में सभी लिपियों को चलाता है।


ठंडा। क्या मैंने customजो यहां बुलाया है , उसके लिए कोई नामकरण सम्मेलन है , जो काफी प्लगइन्स नहीं है, बल्कि ऐसी फाइलें हैं जो अंदर हो सकती थीं .vimrc?
२१:१४

1
@ लिंड-ई नहीं है कि मुझे पता नहीं है। आप शायद कुछ ऐसा उपयोग करना चाहते हैं जो आपको यकीन है कि भविष्य vim संस्करण द्वारा अर्थ नहीं दिया जाएगा। चूंकि वे 8.3 फ़ाइल नामों के साथ संगत रहने का प्रयास करते हैं, मैं एक निर्देशिका नाम> 8 वर्ण सुझाऊंगा।
derobert
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.