vim "परिवर्तनीय" बंद है


147

बेवकूफ पेड़ के साथ एक नई फ़ाइल बनाने की कोशिश कर रहा है। मैंने aएक नई फ़ाइल बनाने के लिए कुंजी को मारा और मुझे संदेश मिला:

E21: Cannot make changes, 'Modifiable' is off

मैं मैकविम और जानूस का उपयोग कर रहा हूं (लगभग बॉक्स से बाहर)


2
fyi: mऔर फिर aNERDTree में एक नई फ़ाइल जोड़ना है
Leighton

जवाबों:


233
:set ma

जिसके लिए कम है

:set modifiable

एक बफर मोडीफुल बनाएगा। तथा

:set noma

इसके विपरीत करता है।


3
इस उत्तर के लिए +1। Google इस पृष्ठ को तब दिखाता है जब आप एक बफर में परिवर्तनीय ध्वज को बंद करने का तरीका खोजते हैं।
सेबेस्टियन ग्रिग्नोली

क्या किसी को पता है कि मैं कैसे UNDO करता हूं जिसे मैंने NERDTree में डिलीट किया था? 'dd' की तरह और फिर मैंने 'u' की कोशिश की और कुछ नहीं हुआ
betoharres

6
मुझे :set buftype: " "संशोधन के बाद फाइल लिखने के लिए भी उपयोग करना पड़ा (बाद में संदेश था Cannot write, 'buftype' option is set)
जूलियन कार्सिक

18

मैं NerdTree से परिचित नहीं हूं, लेकिन मुझे लगता है कि aएक nddtree दृश्य में टाइप करके , यह व्याख्या की जाती है कि "मैं nddtree बफर में कुछ जोड़ना चाहता हूं", और वह बफर संशोधित नहीं है।

आप उस उत्तर विम और एनईआरडी ट्री एक्सटेंशन की जांच कर सकते हैं - एक फाइल जोड़कर जो यह बताता है कि नर्डट्री के साथ फाइल कैसे जोड़ें।


10
दोहे, यह मी था, तब ए।
wesbos

1
यही है, NERDTree के लिए मदद की जाँच करना कोई aमानचित्रण नहीं है , जो इसे नए पाठ को जोड़ने की कोशिश करने का कारण बनेगा।
किडनी

3

यह मेरे लिए काम किया:

:set buftype=
:w

क्या आप के बाद जोड़ने के लिए लगता है =?
कोडमोंकी

कुछ भी तो नहीं। इसका मतलब यह है कि एक खाली मान buftype
असाइन

2

ठीक है, यह सबसे अधिक सूचित जवाब नहीं हो सकता है क्योंकि मुझे मुश्किल से विम या लिनक्स का काम करने का ज्ञान है, लेकिन मैंने अपनी समस्या का समाधान ढूंढ लिया है और यह आपके लिए काम कर सकता है। विशिष्ट होने के लिए, मेरी समस्या दो गुना थी:

1) जब भी मैंने अपने द्वारा बनाई गई इस नई फ़ाइल में कुछ संपादित करने की कोशिश की, तो मुझे बदलाव नहीं मिले, 'परिवर्तनीय' त्रुटि है और ...

2) चलने के बाद: सेट करने योग्य है और बचाने की कोशिश कर रहा है, मुझे एक e382 त्रुटि मिलेगी 'लिख नहीं सकता, buftype सेट है। इसलिए मैं नहीं बचा सका।

बेकार तहखाना प्रलेखन के throuch स्कैड डालने के बाद मुझे यह पता चला:

1) .vimviews निर्देशिका खोजें, मेरे लिए यह मेरे git रिपॉजिटरी की जड़ में था, a

ls 

इसके अंदर। मुझे कुछ इस तरह मिला:

~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=

जो आपके लिए एक अलग फ़ाइल संरचना है, आपके लिए पूरी तरह से बेकार है। लेकिन उस फ़ाइल को देखें जो आपको समस्या दे रही है। (ओह btw, ये वास्तव में फ़ाइल नाम हैं, जो उन्हें देखकर पूरी तरह से स्पष्ट नहीं है)। उस फ़ाइल को ढूंढें जिसमें प्रश्न है और उस चूसने वाले को हटा दें: उदाहरण:

rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=

समस्या सुलझ गयी।


1
नेर्डट्री के साथ काम करने वाली इस समस्या को भी हल किया है। यह केवल वीम सत्र से बाहर निकलने के बाद काम करता है जो इस मुद्दे का कारण बनता है। मैं अनुमान लगा रहा हूं कि यह इस "दृश्य" को रीसेट करता रहा।
जॉन

2

यदि आप एनईआरडीट्री में एक फाइल करना चाहते हैं, तो आपको "एम" (मेनू के लिए) फिर "ए" को हिट करना होगा। NERDTree बफर में बस "a" दर्ज करने पर "NERDTree बफर संशोधित करें" के रूप में व्याख्या की जाएगी। जोड़ना: ma NERDTree बफर को मोडिफाई करेगा, लेकिन यह अभ्यस्त आपके लिए नई फाइलें बनाएगा, यह NERDTree प्रदर्शन और आपकी वास्तविक फ़ाइल पदानुक्रम के बीच असंगत जानकारी को जन्म देगा।


0

मामले में किसी और के साथ ऐसा होता है, तो जांचें कि आप निर्देशिका को खोलने की कोशिश नहीं कर रहे हैं जैसे मैं अभी था (डीओएच)


1
आप विम में निर्देशिका खोल सकते हैं। डिफ़ॉल्ट रूप से यह Netrw लॉन्च करेगा।
htmldrum

आप उदाहरण के लिए किसी निर्देशिका में फ़ाइलों का चयन कर सकते हैं: cw उनके नाम में कुछ बदलाव करते हैं और इसे बचाते हैं
Karolius

0

मेरे लिए, मैंने उन बदलावों को टाल दिया था जिनमें एक निर्देशिका शामिल थी जो मैं तब उस फ़ाइल में बनाने की कोशिश कर रहा था जिसमें मैंने अभी-अभी मंचित किया था। NERDTree अभी भी उस dir के साथ पहले से लगे हुए पेड़ को दिखा रहा था। mएक dir पर प्रयोग करना जो मौजूद नहीं है, मोडिफायेबल त्रुटि उत्पन्न करता है। मुझे पेड़ को ताज़ा करना चाहिए यह rदेखने के लिए कि डायर अब वहां नहीं था और इसे संशोधित क्यों नहीं किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.