यह सुनिश्चित करने के लिए कि व्यवहार मेरे व्यक्तिगत कॉन्फ़िगरेशन से प्रभावित नहीं है, मैं विम को इस तरह से शुरू करना चाहता हूं जो मेरे सभी उपयोगकर्ता-स्थापित कॉन्फ़िगरेशन फ़ाइलों को अनदेखा करता है , जैसे कि विम को पहली बार ताज़ा स्थापित किया गया था और उपयोगकर्ता ने इसे चलाया था हाथोंहाथ।
यह एफएक्यू में संबोधित किया गया है जो बताता है कि उत्तर निम्नलिखित कमांड से शुरू करना है:
vim -u NONE -U NONE -N -i NONE
यह वहाँ से अधिकांश तरीके से हो जाता है , लेकिन runtimepath
विकल्प में अभी भी शामिल है ~/.vim
और, विशेष रूप से ~/.vim/after
, (इसलिए यदि मैं बाद में फ़ाइल प्रकार का पता लगाने और फ़ाइल प्रारूप को बदल दूं, तो कोड ~/.vim/after/syntax/the_relevant_filetype.vim
निष्पादित हो जाएगा)।
मैं स्टार्टअप पर निम्न आदेशों को लागू करके इस विशिष्ट समस्या को हल कर सकता हूं *:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
... लेकिन मुझे यकीन नहीं है कि अगर:
- यह एक मजबूत समाधान है: क्या वे एकमात्र मार्ग हैं जो उपयोगकर्ता-कॉन्फ़िगरेशन को प्रभावी बनाने का कारण बन सकते हैं? क्या कुछ और है जिसके बारे में मैंने नहीं सोचा है?
- वांछित परिणाम प्राप्त करने का एक बेहतर तरीका है।
* खोल --cmd
या -u vimrc
तर्क का उपयोग करके , या बस उन्हें मैन्युअल रूप से टाइप करके।
संपादित करें : यहाँ समस्या को हल करने का एक विशिष्ट उदाहरण है। (हालांकि मैं किसी भी अन्य संभावित मुद्दों को ठीक करने के लिए समाधान चाहूंगा जो मैंने अभी तक सामना नहीं किया है।):
एक फाइल बनाएं ~ / .vim / after / ftplugin / c.vim, जिसमें सामग्री है:
noremap i :echom "This is not default behaviour"<CR>
अब हमारे पास कुछ उपयोगकर्ता-स्थापित कॉन्फ़िगरेशन हैं जिन्हें हम अनदेखा करना चाहते हैं। एफएक्यू द्वारा सुझाए गए समाधान का परीक्षण करें।
कमांड के साथ Vim चलाएं:
vim -u NONE -U NONE -N -i NONE
कमांड दर्ज करें:
:filetype plugin on :set ft=c i
वांछित व्यवहार : विम को इन्सर्ट मोड में प्रवेश करना चाहिए। यदि कोई उपयोगकर्ता कॉन्फ़िगरेशन मौजूद नहीं है तो यह क्या करेगा।
देखा गया व्यवहार : विम प्रिंट "यह डिफ़ॉल्ट व्यवहार नहीं है"
:cd ~
, लेकिन viminfo
फ़ाइल का डिफ़ॉल्ट स्थान $ HOME में है, जो E138 का कारण बन सकता है। मुझे लगता है कि एक नई, खाली निर्देशिका बनाने और $ HOME के लिए इसका उपयोग करना सबसे अच्छा समाधान हो सकता है।
-u NONE
?
/tmp
बेहतर हो सकता है, यह मेरा पहला विचार था, लेकिन फिर मैंने ब्लैक होल के रूप में चुना / देव / अशक्त। ... या कुछ ऐसा HOME=$(mktemp -d) vim ...
।
-u NONE
? निर्भर करता है कि आपको किस व्यवहार की आवश्यकता है, मुझे लगता है।
HOME=/dev/null vim -u NONE
:?