विम लिंक के सिंटैक्स को उजागर नहीं करता है


1

मेरे पास "व्यक्तिगत Note.md" के रूप में .md एक्सटेंशन के साथ मार्कडाउन फ़ाइल है। मैं इसके द्वारा एक प्रतीकात्मक (नरम) लिंक बनाता हूँ ln -s "नोट" के रूप में लिनक्स में कमांड। मैं के साथ लिंक खुला , यह सफलतापूर्वक मूल फ़ाइल का पता लगाता है और इसे खोलता है, लेकिन इसे उजागर नहीं करता है, यह मार्कडाउन फ़ाइल प्रारूप है।

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

जवाबों:


2

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

यदि आप मार्कडाउन फ़ाइलों में समान रूप से नामित सीलिंक बनाते हैं, तो आप एक जोड़ सकते हैं autocommand इन फ़ाइलों को पढ़ते समय आपके लिए फ़िलाटाइप सेट करना:

" Your autocmds should be defined inside a group and cleared at the start so
" that they are not defined more than once if you happen to re-source your vimrc.
" See http://learnvimscriptthehardway.stevelosh.com/chapters/14.html

augroup MyAutoCmds
  autocmd!

  " If you have other files that you always want to use Markdown syntax, add them
  " after 'Note' below, comma delimited. Some other ideas could be README, AUTHORS,
  " CONTRIBUTING, COPYING, etc
  autocmd BufNewFile,BufRead Note setf markdown
augroup END

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

<!-- vim: set ft=markdown: -->

देख :h modeline इस सुविधा पर पूर्ण विवरण के लिए। N.B. यह करेगा नहीं प्रस्तुत मार्कडाउन में दिखाओ, जब तक कि कार्यान्वयन टिप्पणियों का समर्थन करता है, जो कि मैंने देखा है कि वास्तव में सबसे अधिक है।


1

मुझे लगता है कि दुर्भाग्य से विस्तार के बिना आपको मैन्युअल रूप से सेट करना होगा syntax-type सेवा मेरे markdown

:set syn=markdown  

इसके अलावा, यह लेख एक समान प्रश्न पूछने के लिए प्रकट होता है, लेकिन मुझे उत्तर समझ में नहीं आते हैं: stackoverflow.com/questions/15371499/...
varlogtim

धन्यवाद, लेकिन मुझे पता है कि कैसे और हाइलाइटिंग को सक्रिय रूप से सक्रिय नहीं करना चाहते हैं। यह दु: खद और अविश्वसनीय है कि कोई और रास्ता नहीं है। मुझे लगता है कि विम को मूल फ़ाइल को ट्रेस करना चाहिए और इसके एक्सटेंशन की जांच करनी चाहिए और डिफ़ॉल्ट रूप से या जब लिंक में एक्सटेंशन का अभाव होता है, उसी के अनुसार हाइलाइट करें।
w17t

आपको सिंटैक्स सेट करके सेट करना चाहिए filetype बजाय। :set syn केवल अग्नि होगी वाक्य - विन्यास ऑटोकॉमैंड इवेंट, और इस प्रकार कुछ और फिलैटाइप से संबंधित नहीं होगा जो सामान्य रूप से होगा, जैसे कि विशिष्ट स्वरूपण सेटिंग्स, आदि।
ZeroKnight

0

मैं (लिंक्ड) फ़ाइल की पहली पंक्ति में डालकर इसे प्राप्त कर सकता था:

vim: ft=markdown

आईटी इस कुरूप , लेकिन काम करता है।


1
मॉडलडाइन एक विशाल हेडर के रूप में दिखाई देगा जब मार्कडाउन प्रदान किया जाता है। मेरे जवाब के उत्तरार्द्ध को एक टिप्पणी में मॉडलइन को रखने के लिए देखें जो वास्तव में दिखाई नहीं देगा (अधिकांश मार्काडाउन कार्यान्वयन में)।
ZeroKnight
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.