2011-08-22 15 views
47

साथ HTML टैग उधेड़ना वहाँ विम में HTML टैग गुना करने के लिए कुछ प्लगइन है?
या HTML टैग को फोल्ड या प्रकट करने के लिए शॉर्टकट सेट करने का एक और तरीका है?
मैं इंडेंटेशन फोल्डिंग के साथ एचटीएमएल टैग को फोल्ड/ओल्ड करना चाहता हूं।कैसे गुना करने के लिए/विम

+0

'एचटीएमएल –

उत्तर

69

मुझे zfat (या, समान रूप से, zfit) HTML दस्तावेज़ों के साथ तब्दील करने के लिए अच्छी तरह से काम करता है। za एक मौजूदा गुना टॉगल (खुला या बंद) करेगा। zR वर्तमान दस्तावेज़ में सभी परतों को खोलता है, zM प्रभावी रूप से दस्तावेज़ में चिह्नित सभी मौजूदा परतों को फिर से सक्षम बनाता है।

आप बड़े पैमाने पर सिलवटों का उपयोग कर पाते हैं, तो आप में खुद के लिए कुछ आसान कीबाइंडिंग कर सकता है आपके .vimrc.

+0

के लिए foldmethod = syntax' काम सेट करें आपका उत्तर केवल मैन्युअल के फ़ोल्डमेड पर काम करता है, और अन्य फ़ोल्डमेड पर काम नहीं कर सकता है। – soarinblue

14

आप अपने HTML इंडेंट, तो निम्न कार्य करना चाहिए:

set foldmethod=indent 

इस के साथ समस्या यह है, मैं खोजें, बहुत सारे गुना हैं। इसके आस-पास पहुंचने के लिए क्रमशः नेस्टेड फोल्ड को खोलने और बंद करने के लिए मैं zO और zc का उपयोग करता हूं।

अधिक जानकारी के लिए help fold-indent देखें:

The folds are automatically defined by the indent of the lines. 

The foldlevel is computed from the indent of the line, divided by the 
'shiftwidth' (rounded down). A sequence of lines with the same or higher fold 
level form a fold, with the lines with a higher level forming a nested fold. 

The nesting of folds is limited with 'foldnestmax'. 

Some lines are ignored and get the fold level of the line above or below it, 
whichever is lower. These are empty or white lines and lines starting 
with a character in 'foldignore'. White space is skipped before checking for 
characters in 'foldignore'. For C use "#" to ignore preprocessor lines. 

When you want to ignore lines in another way, use the 'expr' method. The 
indent() function can be used in 'foldexpr' to get the indent of a line. 
+0

डिफ़ॉल्ट रूप से तीसरे स्तर के फ़ोल्डरों और उच्चतर को बंद करने के लिए fdl = 3 सेट करने का प्रयास करें; जेडसी अभी भी खुले गुना बंद कर देता है। – JRG

3

js-beautify आदेश स्थापित करें (जावास्क्रिप्ट संस्करण)

npm -g install js-beautify 
wget --no-check-certificate https://www.google.com.hk/ -O google.index.html 
js-beautify -f google.index.html -o google.index.bt.html 

http://www.google.com.hk orignal एचटीएमएल:

http://www.google.com.hk orignal

js-beautif y और vim गुना:

js-beautify and vim fold

2

जेम्स लाइ द्वारा जवाब देने के लिए पर जोड़ें। प्रारंभ में मेरा foldmethod = वाक्यविन्यास इतना zfat काम नहीं करेगा। समाधान जो प्रयोग में foldmethod जांच करने के लिए मार्गदर्शन

:setlocal foldmethod=manual 

को foldemethod स्थापित करने के लिए,

:setlocal foldmethod? 
2

foldmethod वाक्य रचना है, जो सरल है साथ तह एचटीएमएल है।

इस उत्तर HTML syntax folding in vim पर आधारित है। लेखक @ इंगो करकैट है।

  1. सेट अपने गुना विधि के साथ वाक्यविन्यास जा करने के लिए निम्नलिखित:

    vim कमांड लाइन :set foldmethod=syntax

    या सेटिंग डाल ~/.vim/after/ftplugin/html.vim

    setlocal foldmethod=syntax 
    
  2. में भी अब तक, ध्यान दें डिफ़ॉल्ट सिंटैक्स स्क्रिप्ट केवल एक बहु-रेखा टैग को फोल्ड करती है, न कि उद्घाटन और समापन टैग के बीच का पाठ।

    So, this gets folded: 
    
         <div 
          class="foo" 
          id="bar" 
         > 
    
        And this doesn't 
    
         <div> 
          <b>text between here</b> 
         </div> 
    
  3. टैग के बीच तह करने के लिए, आप वाक्य रचना स्क्रिप्ट निम्नलिखित, ~/.vim/after/syntax/html.vim

    वाक्य रचना तह सभी लेकिन शून्य एचटीएमएल तत्वों के बीच किया जाता है (उन जो डॉन में सबसे अच्छी जगह का विस्तार, के माध्यम से की जरूरत है 'टी <br> में बंद करने वाला भाई है,)

    syntax region htmlFold start="<\z(\<\(area\|base\|br\|col\|command\|embed\|hr\|img\|input\|keygen\|link\|meta\|para\|source\|track\|wbr\>\)\@![a-z-]\+\>\)\%(\_s*\_[^/]\?>\|\_s\_[^>]*\_[^>/]>\)" end="</\z1\_s*>" fold transparent keepend extend containedin=htmlHead,htmlH\d 
    
0

सबसे पहले set foldmethod=syntax और zfit को टैग शुरू करने के लिए टैग शुरू करने के लिए zo का प्रयास करें, यह मेरे विम पर अच्छी तरह से काम करता है।

संबंधित मुद्दे