विम तह के बारे में भ्रम - कैसे निष्क्रिय करें?


116
  1. जब मैं फ़ाइल को खोलता हूं तो यह इस तरह दिखता है: यहां छवि विवरण दर्ज करें या यह भी यहां छवि विवरण दर्ज करें
  2. जब मैं सभी सिलवटों को खोलता हूं, तो वे फिर से बंद हो जाते हैं जब मैं दूसरे बफर में नेविगेट करता हूं और वापस आता हूं।
  3. इसके साथ काम करने में सक्षम होने के लिए, मुझे zRबफर खोलते समय हर बार आवेदन करना होगा ।

मेरे पास ये सेट अप हैं .vimrc:

set foldlevelstart=99
set foldlevel=99

कृपया मुझे बताएं कि तह को कैसे निष्क्रिय किया जाए, या कम से कम दूसरे बफ़र को नेविगेशन किया जाए ताकि खुले हुए लोगों को बंद न किया जा सके।


2
जब पहली शुरुआत करें, दौड़ें :set foldlevelऔर :set foldlevelstartदेखें कि वे किस पर सेट हैं। मेरा अनुमान है कि ये मूल्य कहीं न कहीं रीसेट हो रहे हैं। जब मैं उन मानों को अपने vimrc में जोड़ता हूं, तो सब कुछ अपेक्षा के अनुसार काम करता है।
cledoux

जवाबों:


209

तुम अकेले नहीं हो।

set nofoldenable    " disable folding

7
ध्यान दें कि यह vimdiff को प्रभावित नहीं करता है। जब विम एक अलग विंडो बनाता है तो यह foldenableविकल्प को ओवरराइड करने लगता है । मुझे जो एकमात्र समाधान मिला है, वह वास्तव में बहुत बड़ी चीज़ के contextउप-विकल्प को सेट करना है diffopt। उदाहरण:set diffopt+=context:99999
लारेंस गोंसाल्वेस

14
यह विम-मार्कडाउन था । Vim-markdown द्वारा तह को निष्क्रिय करने के लिए, उपयोग करेंlet g:vim_markdown_folding_disabled=1
बेंजामिनबोर्ड

1
@BenjaminGolder हमने यह तय किया है कि: github.com/plasticboy/vim-markdown/pull/131
Ciro Santilli 郝海东 G G 六四

2
मुझे ग्लट्स का घोल नीचे से अच्छा लगता है: फोल्डेबल को टॉगल करने के लिए 'जि' का इस्तेमाल करें। विम के साथ कुछ बड़ी समस्या में से एक है याद करने के लिए चीजों की सरासर संख्या। 'गुना ’की जगह' जि’ जैसी छोटी चीजें भगवान-भेजी जाती हैं!
थियरी

1
मेरे लिए काम नहीं लगता :( अजगर कोड अभी भी मुड़ा हुआ है।
वीमा

55

मक्खी पर तह करने (और सक्षम) को निष्क्रिय करने का सबसे आसान तरीका है zi

ziसामान्य मोड कमांड है जो टॉगल करता है 'foldenable', जैसे :set foldenable!

Mnemonic: "गुना मैं nvert"। देखते हैं :h zi


44

set nofoldenableतह अक्षम करने के लिए अपने ~ / .vimrc में जोड़ें ।


@ मैग्नस: यह जानबूझकर किया जाता vimdiffहै कि बहुत सी लाइनें जो समान हैं, दिखाने से बचें। उपयोग का मामला अलग है, इसलिए यह इससे प्रभावित नहीं है nofoldenablezRसभी सिलवटों को खोलता है; मुझे उस सेटिंग के बारे में नहीं पता है जो तह को निष्क्रिय करता है vimdiff। (जैसा कि यह एक जगह है जहाँ तह मुझे परेशान नहीं करता है।)
DevSolar

16

यहाँ एक लेख है जो संक्षेप में और संक्षिप्त रूप से यह बताता है कि तह ठंडा क्यों है। एक लाइन कारण यह है कि तह बहुत बड़ी फ़ाइलों को एक हवा में नेविगेट करता है।

यदि आप फोल्डिंग सक्षम को छोड़ना चाहते हैं, और बस हमेशा सभी सिलवटों को खोलना शुरू करते हैं, तो विम विकी बताता है कि कैसे। आप के लिए ब्याज की विधि शायद ऑटोकॉमैंड विधि होगी।

" Tweak the event and filetypes matched to your liking. 
" Note, perl automatically sets foldmethod in the syntax file
autocmd Syntax c,cpp,vim,xml,html,xhtml setlocal foldmethod=syntax
autocmd Syntax c,cpp,vim,xml,html,xhtml,perl normal zR

मैं आपके द्वारा उपयोग की जाने वाली भाषा के लिए कस्टम तह विधियों की खोज करने की भी सिफारिश करूंगा। बस googling "vim <डालें भाषा यहां> तह" कई विकल्पों को लाना चाहिए। जब तक आप अपनी पसंद की एक तह विधि नहीं ढूंढते तब तक विभिन्न विकल्पों के साथ खेलें।


4

मैंने अपनी .vimrcफ़ाइल के लिए इस लाइन को जोड़ा है क्योंकि मेरे पास एक ही मुद्दा था:

autocmd FileType * exe "normal zR"

जब भी आप किसी फ़ाइल को स्वचालित रूप से खोलते हैं, तो यह कमांड निष्पादित की जाएगी। तो आप बग नहीं देखेंगे और तह सुविधा भी नहीं खोएगी)


3

चर्चा के बिंदु पर इसे पूरा करने के लिए बस एक और जोड़ना।

कोड तह सक्षम करने के लिए:

:set foldenable या संक्षेप में, :set fen

कोड तह निष्क्रिय करने के लिए:

:set nofoldenable या संक्षेप में, :set nofen

एक बार जब आप codefolding सक्षम किए जाने पर आप की तरह सभी आदेशों होगा zf,zo etcकी सेटिंग के अनुसार अपनी इच्छा पर :set fdm=xxxxजहां ठेठ मान हैंexpr,syntax,manual etc.


1

क्षमा करें, यदि मैं संबंधित प्रश्न का उत्तर दे रहा हूं, लेकिन मैंने दो फाइलों को प्रदर्शित करने के लिए उपयोगी पाया, जैसे कि तह कुछ इस तरह से बंद हो गया:

vim "+set nofen" -O file1 file2

1

विम तह को निष्क्रिय करने के लिए आश्चर्यजनक रूप से कठिन बनाता है, खासकर जब विमडिफ का उपयोग कर रहा हो।
उपरोक्त पोस्ट किए गए समाधानों में से किसी ने भी मेरे लिए काम नहीं किया, लेकिन यह किया (~ / .vimrc में जोड़ें):

au WinEnter * set nofen
au WinLeave * set nofen

1

मैं सेट करता हूं foldlevel=20, foldlevelstart=20और मैं उपयोग करता हूं foldmethod=syntax। यह मुझे विम में सही तह के साथ काम करने में मदद करता है।

set nofoldenable तह को निष्क्रिय करें लेकिन कभी-कभी मुझे इसकी आवश्यकता होती है

vim.wikia

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