विम में हाइलाइटिंग मार्कडाउन को सक्षम करना


138

मैं अपने मैकबुक एयर पर ओएस एक्स लॉयन के साथ एक टर्मिनल में विम का उपयोग कर रहा हूं, और मैं मार्कडाउन सिंथेटिक्स हाइलाइटिंग के लिए एक अच्छा प्लगइन नहीं ढूंढ सकता हूं।

अब तक मैंने प्लास्टिकबॉय प्लगइन और टिम पोप के प्लगइन की कोशिश की है । प्लास्टिकबॉय प्लगइन ने ठीक काम किया, लेकिन हाइलाइट किए जाने वाली लाइनों के अंत में सफेद स्थान पैदा कर रहा था, और मुझे यह पता नहीं चला कि इसे कैसे बंद किया जाए। (यह वास्तव में कष्टप्रद है, क्योंकि हर बार spaceजब मैं लिखता हूं तो मैं इसे चरित्र पर प्रकाश डालता हूं।)

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

मैंने Vim 7.3 के मार्कडैड सपोर्ट में निर्मित होने का संदर्भ भी देखा है, लेकिन उन दो प्लगइन्स में से एक के बिना मुझे बिल्कुल भी हाइलाइटिंग नहीं मिलती है।

क्या इनमें से किसी को काम करने के लिए विशिष्ट रंग योजनाओं की आवश्यकता है?


24
*.mdमार्कडाउन के लिए सही विस्तार नहीं है। यह एक मोडुला फ़ाइलों के लिए है। Tpope प्लगइन ठीक काम करता है (यह सभी प्लगइन्स ठीक काम करता है) आपको *.markdown
lucapette

7
टिम पोप के प्लगइन के लिए ftdetect @lucapette करता भी शामिल हैं *.mdके साथ-साथ: *.markdown,*.mdown,*.mkd,*.mkdn*.mkd,*.markdown,*.mdwn
प्लास्टिकबॉय

1
प्लास्टिकबॉय प्लगइन स्रोत से, ऐसा लगता है कि यह वास्तव में भी पता लगाता है .md। मैं अभी इस एक्सटेंशन में बंद हूं क्योंकि मैं अपने ब्लॉग के लिए Scriptogr.am का उपयोग कर रहा हूं , और यही एकमात्र एक्सटेंशन है जो वे अभी पहचानते हैं।
जोश अर्ल

1
: बस यह पाया जाता है और यह बहुत GitHub स्वाद markdown के लिए गज़ब का है github.com/jtratner/vim-flavored-markdown
मैथ्यू टर्नर

प्लास्टिसबॉय / विम-मार्कडाउन के मुद्दों के लिए , कृपया परियोजनाओं पर मुद्दे खोलें ताकि देवता इसे हल कर सकें। मुझे लगता है कि हाइलाइटिंग ट्रेलिंग व्हाट्सएप एक अच्छा व्यवहार है क्योंकि दोहरे स्थान <br>टैग उत्पन्न करते हैं, इसलिए लेखकों को इसके बारे में पता होना चाहिए।
सिरो सेंटिल्ली 郝海东 i iro i 法轮功 '

जवाबों:


22

यह प्लास्टिसबॉय mkd प्लगइन का उपयोग करते समय अंतिम-पंक्ति स्थान हाइलाइटिंग को अक्षम करने के लिए काम करना चाहिए:

:syn clear mkdLineBreak

आप autocmdआवश्यक फ़ाइल एक्सटेंशन के लिए ऐसा कर सकते हैं ताकि आपको हर बार मार्कडाउन फ़ाइल लोड करने की आवश्यकता न पड़े।

ध्यान दें कि यह विशिष्ट हाइलाइट मौजूद है क्योंकि मार्कडाउन विशेष रूप से एक सम्मिलित करके 2 या अधिक अंतरिक्ष वर्णों के साथ समाप्त होने वाली रेखाओं का इलाज करता है <br>, इसलिए यह उपयोगी है।

प्लास्टिकबॉय प्लगइन TODOइस नियम के लिए हाइलाइटिंग का उपयोग करता है , जो कि थोड़ा बहुत है क्योंकि यह डिफ़ॉल्ट रूप से डिज़ाइन किया गया है, वास्तव में पीले - पीले रंग की पृष्ठभूमि - ताकि यह बाहर खड़ा हो। आप उस highlightनियम को बदलकर इसे कम नेत्रहीन बना सकते हैं । ऐसा करने का एक त्वरित तरीका कुछ इस तरह होगा:

:hi link mkdLineBreak Underlined

अब वे अंत-पंक्ति स्थान रिक्त स्थान के रूप में दिखाई देंगे। highlightकिसी ऐसी चीज़ के लिए अन्य समूहों से जोड़ने का प्रयास करें जो आपसे अधिक अपील कर सकती है। उपयोग करने के बजाय linkआप उन अंत-पंक्ति स्थानों के बारे में और भी अधिक विशिष्ट प्राप्त कर सकते हैं: उदाहरण के लिए आप यह निर्दिष्ट कर सकते हैं कि वे सामान्य पृष्ठभूमि की तुलना में थोड़े हल्के / गहरे दिखाई देते हैं, अपने highlightआदेश का उपयोग करते हुए , कस्टम ctermfg , ctermbg , guifg निर्दिष्ट करते हुए , guibg सेटिंग्स।

ऊपर, आप autocmdअपनी विशिष्ट सेटिंग लागू करने के लिए ऐसा कर सकते हैं।

लिंक highlightसमूहों के बारे में अधिक जानकारी के लिए , टाइप करें: :help group-nameऔर आप उन समूहों की सूची देखेंगे जिन्हें लिंक किया जा सकता है कि स्वयं को उनके वर्तमान highlightनियमों का उपयोग करके प्रदर्शित किया जाना चाहिए । इसके अलावा: :help highlight


2
यह काफी काम की बात है। मार्कडाउन में दो स्थानों का महत्व नहीं था। मुझे लगता है कि मैं इसे तब तक सक्षम छोड़ दूंगा जब तक कि यह मुझे गुस्सा नहीं दिलाता। धन्यवाद!
जोश अर्ल

हाँ यही कारण है कि हाइलाइट किक नहीं करता है जब तक कि 2 रिक्त स्थान दर्ज नहीं किए गए हैं।
pb2q


308

मार्कडाउन के लिए मूल सिंटैक्स हाइलाइट के बारे में मुझे लगता है कि यह केवल .markdownडिफ़ॉल्ट रूप से एक्सटेंशन के साथ फाइलों के लिए काम करता है ।
मुझे अपनी .mdफ़ाइलों के लिए मार्कडाउन सिंटैक्स हाइलाइट में समस्या हो रही थी ।
मैंने कोशिश की:

:set syntax=markdown

और इसने काम किया। तो मैंने अपने में निम्न पंक्ति शामिल की .vimrc:

au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown

अब मेरी vim में मेरी .mdफाइलों के लिए सिंटैक्स हाइलाइट है ।

BufFilePre के लिए आवश्यक है: sav


13
इसे पढ़ने वाले किसी और के लिए: हाँ यह काम करता है और प्लगइन स्थापित करने की तुलना में समस्या का बहुत सरल समाधान है। कमांड लाइन से ऐसा करने का तेज़ तरीका: गूंज "au BufRead, BufNewFile * .md सेट फ़िलेपेट =
मार्कडाउन

11
मुझे ऐसा लगता है कि यह स्वीकृत उत्तर होना चाहिए।
एनरिको कैंपिडोग्लियो

4
@SamStoelinga यह बग नहीं है, .mdइसका उपयोग मोडुला द्वारा भी किया जाता है। यह पता लगाने के लिए कि किसका उपयोग करना है, कुछ उन्नत उत्तराधिकार की आवश्यकता होगी।
nyuszika7h 16

8
Vim 7.4.480 के रूप में, *.mdफाइलें डिफ़ॉल्ट रूप से मार्कडाउन के रूप में पहचानी जाती हैं।
फव्वारा

1
सही, लेकिन अधूरा। इसके लिए समान रूप से Save As… :savकमांड के साथ काम करने के लिए , किसी को ऑटोकॉमैंड को बढ़ाने की आवश्यकता है BufFilePre:autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
सर्ज स्ट्रोबोबंड

19

मूल वाक्य रचना हाइलाइटिंग

मार्कडाउन के लिए मूल सिंटैक्स हाइलाइटिंग केवल .markdownफ़ाइल एक्सटेंशन के लिए डिफ़ॉल्ट रूप से काम करता है ।

निम्नलिखित पंक्ति .vimrcदोनों के लिए सर्वोत्तम परिणाम देती है vimऔर gvim:

autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc

स्पष्टीकरण:

1. अपने Markdown स्वाद निर्दिष्ट करें!

यदि आप मुख्य रूप से मार्काडाउन (जैसे पंडोक ) के एक स्वाद के साथ काम करते हैं , तो इसका भी उल्लेख करना सुनिश्चित करें! ऐसा करने से, मार्कडाउन और पंडोक-विशिष्ट विम प्लग-इन दोनों के मिश्रण और मिलान की अनुमति मिलती है। उदाहरण के लिए: मुझे विशेष रूप से मेरी हाइलाइटिंग जरूरतों के लिए उपयुक्त विम-पंडोक-सिंटैक्स प्लग-इन मिला है। फिर भी, मैं मार्कडाउन फोल्डिंग के लिए अधिक सामान्य विम-मार्कडाउन-फोल्डिंग का उपयोग करता हूं ।

वैसे, केवल एक स्वाद की अनुमति है, एक डॉट द्वारा अलग किया जाता है, जैसे: filetype=markdown.pandoc

2. की gvimआवश्यकता हैBufFilePre

gvimकमांड के BufFilePreसाथ मार्कडाउन फ़ाइल प्रकार की मान्यता के लिए स्वतः पूर्ण लाइन में एक अतिरिक्त की आवश्यकता होती है Save As… :sav


15

में टिम प्लगइन .md विस्तार के लिए ही काम करता है README.md क्योंकि filetype.vim निर्दिष्ट करता तो।

" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md  setf markdown

1
असत्य; आप डिफ़ॉल्ट विम इंस्टॉल के बारे में सोच रहे होंगे, जो इस तरीके से व्यवहार करता है। टिम का प्लगइन सभी .md फ़ाइलों के लिए इसे ओवरराइड करता है। देखें github.com/tpope/vim-markdown/blob/master/ftdetect/markdown.vim
corvec

7

यदि आप अपने सभी कॉन्फ़िगरेशन को अंदर रखना पसंद नहीं करते हैं ~/.vimrc, तो आप ~/.vim/ftdetect/markdown.mdनिम्न सामग्री के साथ (या विंडोज पर इसके समकक्ष) बना सकते हैं।

au BufNewFile,BufRead *.md setf markdown

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