2009-07-28 14 views

उत्तर

16

मैं कुछ इस तरह का उपयोग करें:

set list listchars=tab:»·,trail:·,precedes:…,extends:…,nbsp:‗ 

Vim7 आवश्यक है और मुझे यकीन है कि यह कैसे अच्छी तरह से दिखाने के लिए जा रहा है नहीं कर रहा हूँ एक ब्राउज़र में, क्योंकि यह कुछ फंकी यूनिकोड वर्णों का उपयोग करता है। कुछ अजीब पात्रों का उपयोग करना अच्छा होता है ताकि आप किसी टैब से अपने आप को टाइप कर सकें।

टैब दिखाने के अलावा, लाइनों के अंत में रिक्त स्थान दिखाना उपयोगी है ताकि आप उन्हें हटा सकें (वे परेशान हैं)।

+0

वाह मैं इसे कुछ हफ्ते पहले देख रहा था, लेकिन वास्तव में कुछ भी नहीं मिला (मैंने वास्तव में व्यापक रूप से खोज नहीं की थी) ... धन्यवाद :) –

+0

क्या आप हमें बता सकते हैं कि उन पात्रों को अपने .vimrc में कैसे दर्ज करें ? –

+0

कॉपी/पेस्ट सबसे आसान है, या 'Ctrl-V u ####' जहां #### एक 4-अंकीय यूनिकोड कोड बिंदु है। –

5

उपयोग list और listchars विकल्प, कुछ इस तरह:

:set list 
:set listchars=tab:>- 
3

आप निम्नलिखित करते हैं:

:set list 

तो सभी टैब वर्ण ^I रूप में दिखाई देगा और सभी अवांछित स्पेस $ रूप में दिखाई देगा।

listchars का उपयोग करके, आप किसी भी सफेद स्थान के लिए किन पात्रों का उपयोग करने के लिए नियंत्रित कर सकते हैं। तो,

:set listchars=tab:... 

संयोजन के रूप में :set list साथ ... रूप में दिखाई दे टैब बनाता है।

2

साथ ही, पाठ को काटने और पेस्ट करते समय, टैब और रिक्त स्थान के प्रदर्शन को अक्षम करना उपयोगी होता है। आपको लगता है कि

:set list! 

साथ और तुम आदेश दोहरा साथ फिर से सक्षम कर सकते हैं।

7

कई दूसरों की listchars 'और' सूची 'विकल्प का उल्लेख किया है, लेकिन सिर्फ एक और दिलचस्प विकल्प जोड़ने के लिए:

if &expandtab == 0 
    execute 'syn match MixedIndentationError display "^\([\t]*\)\@<=\(\{'.&ts.'}\)\+"' 
else 
    execute 'syn match MixedIndentationError display "^\(\(\{' . &ts . '}\)*\)\@<=\t\+"' 
endif 
hi link MixedIndentationError Error 

यह' expandtab '(यानी कि क्या आप है की वर्तमान सेटिंग पर नजर डालेंगे कठोर टैब या रिक्त स्थान टैब होने का नाटक करते हैं) और को सही इंडेंटेशन की तरह दिखने वाले कुछ भी हाइलाइट करेंगे लेकिन गलत फॉर्म का होना चाहिए। इन्हें टैब स्टॉप को देखकर काम करने के लिए डिज़ाइन किया गया है, इसलिए इंडेंटेशन के लिए उपयोग किए जाने वाले टैब के बाद सरल संरेखण के लिए उपयोग की जाने वाली रिक्त स्थान ('टैबस्टॉप' के एकाधिक नहीं) को गलत के रूप में हाइलाइट नहीं किया जाएगा।

सरल विकल्प उपलब्ध हैं: अगर आप सिर्फ चमकदार लाल में गलत फ़ाइल में किसी भी टैब को हाइलाइट करना चाहते (या जो भी आपके त्रुटि रंग है), तुम कर सकते हो:

syn match TabShouldNotBeThereError display "\t" 
hi link TabShouldNotBeThereError Error 

या आप पर रिक्त स्थान चाहते हैं एक लाइन की शुरुआत को एक त्रुटि माना जा सकता है, आप कर सकते हैं:

syn match SpacesUsedForIndentationError display "^ +" 
hi link SpacesUsedForIndentationError Error 

मिश्रण में जोड़ने के लिए बस कुछ और विचार ...अधिक जानकारी:

:help 'expandtab' 
:help 'tabstop' 
:help 'listchars' 
:help 'list' 
:help :exe 
:help let-option 
:help :hi-link 
:help :syn-match 
:help :syn-display 
2

ग्लेन जैकमैन पूछा कि वर्ण दर्ज करने (मैं यह सोचते हैं रहा हूँ वह "» "जैसे पात्रों का मतलब है)।

ब्रायन कार्पर चरित्र के यूनिकोड इंडेक्स नंबर का उपयोग करके एक विधि सुझाता है। चूंकि इनमें से कई विशिष्ट दिखने वाले पात्र हैं digraphs [: मदद digraphs], आप सीएनटीएल-के शॉर्टकट का भी उपयोग कर सकते हैं, जो आम तौर पर याद रखना आसान है।

तो, उदाहरण के लिए, आप सीएनटीएल-के और ">" चरित्र को दो बार टाइप करके सम्मिलित मोड में "» "उत्पन्न कर सकते हैं।

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