मैं इस तरह कुछ उपयोग करता हूं: 1,40 fo
लेकिन मुझे लगता है कि यह सबसे प्रभावी तरीका नहीं है।एचटीएमएल, जावास्क्रिप्ट और सीएसएस के लिए विम में आपकी पसंदीदा फोल्डिंग विधि (या गुप्त तकनीक) क्या है?
आपका क्या है?
मैं इस तरह कुछ उपयोग करता हूं: 1,40 fo
लेकिन मुझे लगता है कि यह सबसे प्रभावी तरीका नहीं है।एचटीएमएल, जावास्क्रिप्ट और सीएसएस के लिए विम में आपकी पसंदीदा फोल्डिंग विधि (या गुप्त तकनीक) क्या है?
आपका क्या है?
मैं foldmethod=marker
का उपयोग करता हूं और <!-- {{{ -->
और <!-- }}} -->
दर्ज करने के लिए मैपिंग करता हूं जहां मैं गुना शुरू करना और समाप्त करना चाहता हूं। मैं की तरह उद्घाटन ब्लॉक टैग के साथ लाइन पर शुरू मार्कर डाल:
<div id="topmenu"> <!-- {{{ -->
इसलिए जब यह मुड़ा हुआ है मैं तुरंत देखो क्या गुना अतिरिक्त टिप्पणी जोड़ने के लिए आवश्यकता के बिना होता है।
सीएसएस के लिए यह और भी आसान है, मैं बस foldmarker={,}
का उपयोग करता हूं और सभी परिभाषाओं को स्वचालित रूप से तब्दील कर दिया जाता है जो मुझे सभी वर्गों, टैग्स और आईडी की एक बहुत ही स्पष्ट सूची दिखाता है जो मुझे उनकी आवश्यकता होने पर ही खोल सकता है।
/* vim: set fdm=marker fmr={,}: */
तुम भी नेत्रहीन क्षेत्र आप गुना और zf
प्रेस यदि आप पसंद करना चाहते हैं चुन सकते हैं: असल में मेरे सभी सीएसएस फ़ाइलों अंत में इस लाइन की है।
बेस्ट तह एचटीएमएल के लिए vim के लिए विधि: use haml instead। सीएसएस के लिए सर्वश्रेष्ठ विकल्प: use sass instead।
मैं वास्तव में गंभीर हूँ। वे इसे और अधिक कॉम्पैक्ट बनाते हैं।
प्रश्न का उत्तर नहीं, लेकिन अच्छे विचार। जिज्ञासा से, एसएएसएस और एचएएमएल के लिए विम में सिंटैक्स हाइलाइटिंग और फोल्डिंग सपोर्ट क्या है? – Jay
अरे एचएएमएल और एसएएसएस बहुत अच्छा लग रहा है! क्या बहुत से लोग उनका उपयोग कर रहे हैं? – alexchenco
दुर्भाग्यवश दुर्भाग्य से अन्य लेखकों द्वारा लिखित फ़ाइलों को संपादित करने की समस्या का समाधान नहीं होगा। – michael
मैं अपने vimrc में इंडेंट और इस के साथ मार्कर के बीच फ्लिप ..
let g:FoldMethod = 0
map <leader>ff :call ToggleFold()<cr>
fun! ToggleFold()
if g:FoldMethod == 0
exe 'set foldmethod=indent'
let g:FoldMethod = 1
else
exe 'set foldmethod=marker'
let g:FoldMethod = 0
endif
endfun
इंडेंट सबसे सजा एचटीएमएल के लिए ठीक काम करता है, लेकिन मैं दस्तावेजों की सामग्री शैली तह की बड़ी कथात्मक तालिका के लिए मार्कर का उपयोग करें। फ़ाइल किसने लिखा था, इस पर निर्भर करता है कि एक दूसरे से बेहतर काम करेगा ताकि आपको दोनों की त्वरित पहुंच की आवश्यकता हो।
आप इसके बजाय 'if & foldmethod ==' marker 'की जांच करके वैश्विक चर के बिना ऐसा कर सकते हैं। – eswald
मैं foldmethod=ignore
का इस्तेमाल किया है लगभग विशेष रूप से।
" Default foldmethod
" Similar to fdm=indent, but lets blank and comment lines default high.
set fen fdm=expr fdi=
set foldexpr=EswaldFoldLevel(v:lnum)
function! EswaldFoldLevel(lnum)
let ignored = '^\s*\([#/*]\|$\)'
if getline(a:lnum) !~ ignored
" In the general case, just use the indent level.
" It would be nice if it didn't skip several levels...
return indent(a:lnum)/&sw
endif
let previndent = 0
let prevnum = a:lnum - 1
while prevnum > 0
if getline(prevnum) =~ ignored
let prevnum = prevnum - 1
else
let previndent = indent(prevnum)/&sw
break
endif
endwhile
let nextindent = 0
let maxline = line('$')
let nextnum = a:lnum + 1
while nextnum <= maxline
if getline(nextnum) =~ ignored
let nextnum = nextnum + 1
else
let nextindent = indent(nextnum)/&sw
break
endif
endwhile
return max([previndent, nextindent])
endfunction
(क्षमा वाक्य रचना हाइलाइटिंग के बारे में ...)
: लेकिन, मेरा इच्छा लाइनों डिफ़ॉल्ट उच्च ऊपर की या लाइनों तह के नीचे स्तर तक, कम करने के बजाय नजरअंदाज किया है के लिए, निम्न प्रेरितमैं का उपयोग करें कि एक कस्टम प्लगइन के रूप में, दे व्यक्तिगत फ़ाइल प्रकारों इसे ओवरराइड। उदाहरण के लिए, पाइथन, पिछली पंक्तियों को देखना नहीं चाहता, केवल निम्नलिखित के बाद।
है कि अच्छा लगता है कि कैसे आप के लिए अलग अलग foldmarkers स्थापित किया था की तरह एचटीएमएल और सीएसएस दोनों? – alexchenco
फ़ोल्डमार्कर्स अलग हैं क्योंकि मैं HTML और CSS को अलग-अलग फ़ाइलों में सख्ती से रखता हूं। –
/* vim: fdm = marker fmr = {,}: */<--- यह इस पंक्ति के साथ व्यक्तिगत सीएसएस फ़ाइल के लिए विम की तह विधि विधि को कॉल करता है? – alexchenco