ভিমে মিশ্রিত রঙিন সিনট্যাক্স


12

আমি প্রায়শই ভিআইএম ব্যবহার করে নিটারে ডকুমেন্ট লিখছি , যার অর্থ আমার কাছে কোড কোড মিশ্রিত রয়েছে আর কোডের সাথে। আমি চাইলে আর সিনট্যাক্স রঙ করতে চাই, তবে মার্কডাউন বা অন্য সমস্ত টুকরোয় রঙ নেই। এটা কি করণীয়? কিভাবে?


3
আমার মনে হয় আপনি পারবেন, vim.wikia.com/wiki/…
nobe4

5
আপনার মার্কডাউন প্লাগইনের উপর নির্ভর করে আপনার অন্তর্ভুক্ত থাকা "কোড ব্লকস" এর সিনট্যাক্স রঙিন করার জন্য ইতিমধ্যে সমর্থন বা নাও থাকতে পারে। প্রথম ক্ষেত্রে, আপনার "আর অংশগুলি" বৈধ কোড ব্লক হিসাবে স্বীকৃতি দেওয়ার জন্য আপনাকে (স্রেফ) প্লাগইনের সিনট্যাক্সটি পরিবর্তন করতে হবে। ২ য় ক্ষেত্রে, সম্ভবত আপনি জুনগুনের ভিমারসি, বিশেষত ফাংশন s:syntax_includeএবং থেকে নিজেকে অনুপ্রাণিত করতে পারেন s:file_type_handler: github.com/junegunn/dotfiles/blob/master/vimrc
ভ্যানলাসার

5
এটি কি একটি মার্কডাউন ফাইল যা কোড ব্লকের অভ্যন্তরে আর কোড থাকতে পারে? যদি তাই হয় তবে আপনি আপনার g:markdown_fenced_languagesমধ্যে আর যুক্ত করতে চাইতে পারেন vimrcউদাহরণস্বরূপ g: চিহ্নডাউন_ফেন্সড_এলংয়েজস = ['আর'] `` আমি ধরে নিচ্ছি আপনি টিম পোপের সরবরাহিত ডিফল্ট মার্কডাউন সিনট্যাক্স ব্যবহার করছেন । বেড়া ভাষাগুলিতে আরও
পিটার রিংকার

1
ভিম সিনট্যাক্স ফাইলগুলি হ'ল ভিমের বেশিরভাগ জিনিসের মতো, কেবলমাত্র একটি অনুক্রমের একটি অনুক্রম একটি ফাইলের মধ্যে রাখা। আপনি একটি, দুই, তিন বা আপনি যতটা চান অন্তর্ভুক্ত করতে পারেন। একটি সিনট্যাক্স ফাইল তৈরি করা যা ভাষা এ এবং অন্যান্য ব্লকগুলিকে ভাষা বি হিসাবে কিছু ব্লককে হাইলাইট করে that এমনটি কঠিন নয় (আসলে, আমি কেবল এটি অন্য উত্তরে এটি করেছি )। তবে, আমি সম্পূর্ণরূপে নিশ্চিত নই যে "নিটার" নথিগুলি কেমন দেখাচ্ছে? এটা কি শুধুই মার্কডাউন? নাকি আলাদা সিনট্যাক্স?
মার্টিন টর্নয়েজ

উত্তর:


2

পিটার রিঙ্কার নোট হিসাবে , ভিমের স্ট্যান্ডার্ড মার্কডাউন ফর্ম্যাটিংয়ে ইতিমধ্যে r"বেড়া কোড ব্লক" এর মধ্যে কোড হাইলাইট করার জন্য সমর্থন অন্তর্ভুক্ত রয়েছে এবং এটি সক্ষম করতে আপনাকে কেবল কোডে একটি বিশ্বব্যাপী ভেরিয়েবল সেট করতে হবে vimrc:

let g:markdown_fenced_languages = ['r']

তবে এটি করার পরে আপনি দেখতে পাবেন যে আপনার নিটার কোড ব্লকগুলি এখনও হাইলাইট করা হয়নি।

এর কারণ হ'ল নিয়মিত কোড ব্লক থেকে চালিত হওয়া আর কোডের পার্থক্যের জন্য নিটার প্যান্ডোকের তথ্য স্ট্রিংয়ের ফর্ম্যাটিং ব্যবহার করে এবং ভিমের নিয়মিত মার্কডাউন হাইলাইটিং এই 1 টি সমর্থন করে না ।

এটির সমাধানের সহজতম উপায় হ'ল নিম্নলিখিত লাইনটি যুক্ত করে এই ধরণের কোড ব্লকের সাথে ম্যাচ করার জন্য ম্যানুয়ালি একটি অতিরিক্ত সিনট্যাক্স আইটেম যুক্ত করুন ~/.vim/after/syntax/markdown.vim

syntax region markdownHighlightr matchgroup=markdownCodeDelimiter start=/^\s*```{r}.*$/ end=/^\s*```\ze\s*$/ keepend contains=@markdownHighlightr

আপনি পান্ডোক হাইলাইটের জন্য একটি ভিম প্লাগইন ইনস্টল করার বিষয়েও বিবেচনা করতে পারেন, সম্ভবত এটি বাক্সের বাইরে সমর্থন করবে support

1: এটি সত্যিই ভিমের মার্কডাউন সিনট্যাক্স ফাইলটিতে কোনও সমস্যা হিসাবে বিবেচনা করা যায় না। মূল Markdown সিনট্যাক্স এ সব কোড ব্লক বেড়ার দ্বারা পরিবেষ্টিত করে না অন্তর্ভুক্ত করুন, এবং CommonMark বৈশিষ্ট সংজ্ঞায়িত না কিভাবে তথ্য স্ট্রিং ফরম্যাট করা হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.