ভিম: রংচেম পরিবর্তন যখন কাস্টম সিনট্যাক্স হাইলাইট নিয়ম স্বয়ংক্রিয় সিঙ্ক কিভাবে?


1

আমি ব্যাবহার করছি VOoM (সম্ভবত আমার প্রশ্নের উত্তর দিতে পারার জন্য এটি সম্পর্কে অনেক কিছু জানা দরকার না, আমি কেবল এই তথ্যটি প্রসঙ্গের জন্য সরবরাহ করছি) এবং আমি নিজেকে নির্দিষ্ট সামগ্রীটির জন্য কয়েকটি কাস্টম সিনট্যাক্স হাইলাইট নিয়ম লিখতে পরিচালিত করেছি।

প্রথমত, আমি একটি মডেলিন ব্যবহার করছি যেটি একটি নির্দিষ্ট ফাইলটি একটি ভিওওএম রূপরেখা, আমি এই ফাইলগুলির নীচে এটি আছে:

/* vim: set syntax=myvoom : */

দ্বিতীয়, আমার একটি আছে /home/user/.vim/after/syntax/myvoom.vim ফাইল, এখানে থেকে একটি স্নিপেট:

syn match voomTag "^tags:.*"
hi voomTag ctermfg=White ctermbg=Red guifg=White guibg=Red

কিছু রূপরেখা নোডের মধ্যে আমার মত লাইন আছে:

tags: foo, bar, baz

অনুসন্ধানটি সহজতর করতে, উপরে সিনট্যাক্স হাইলাইট নিয়মটি কেবল সেই লাইনগুলি কাস্টম ফরওয়ার্ড / ব্যাকগ্রাউন্ডের সাথে প্রদর্শন করে।

ডিফল্ট রংcheমের সাথে প্রত্যাশিত হিসাবে এটি কাজ করে ( :বর্ণবিন্যাস ভিম রিটার্ন 'ডিফল্ট')।

যখন আমি একটি কাস্টম রংচেষ্ট চেষ্টা করতে চান ( আমেরিকার বন্য ঘোড়াবিশেষ উদাহরণস্বরূপ) এবং এটি করে পরিবর্তন : রঙচিম Mustang , আমার ট্যাগ লাইন জন্য সিনট্যাক্স হাইলাইট হারিয়ে গেছে।

আমি কেন এই ঘটতে বুঝতে চাই।

এছাড়াও, রংশমে পরিবর্তিত হলে এই কাস্টম সিনট্যাক্সের নিয়মগুলি (যা সাধারণ, কোন নির্দিষ্ট রংচিহ্নের নির্দিষ্ট নয়) স্বয়ংক্রিয়ভাবে সিঙ্ক করতে শিখতে চাই। আমার কি এটির জন্য myvoom.vim ফাইলে স্পষ্টভাবে কোনোভাবে চেক করতে হবে? রংcheme সক্রিয় কি খুঁজছেন মত ​​এবং বিভিন্ন রংচেমার জন্য কাস্টম সিনট্যাক্স হাইলাইট নিয়ম আছে বা একটি ভাল পদ্ধতির আছে?

উত্তর:


3

কেন এই ঘটতে হয় :highlight clear (দেখুন :help :highlight ) কমান্ড, সাধারণত রংcheমে দ্বারা চালিত প্রথম কমান্ডের মধ্যে একটি। এই কমান্ডটি সমস্ত হাইলাইট রিসেট করে, এভাবে আপনার কাস্টমটির প্রভাবটি সরানো হয় :highlight কমান্ড।

এই ঠিক করার জন্য আপনি এক ব্যবহার করতে হবে :autocmd (দেখুন help :autocmd ) ঘটনা, ColorScheme (দেখুন :help ColorScheme ), নতুন colorcheme লোড হওয়ার পরে আপনার কমান্ড চালানো। আপনার পরিবর্তন পরে myvoom.vim এই মত চেহারা উচিত:

augroup VoomTagHighlight
  autocmd! ColorScheme *
         \ syn match voomTag "^tags:.*" |
         \ hi voomTag ctermfg=White ctermbg=Red guifg=White guibg=Red
augroup END

এছাড়াও সাহায্য দেখুন :augroup:help :augroup

বর্তমান রংশেমে নির্ভর করে ভিন্ন হাইলাইট করতে চান তবে ব্যবহার করুন :highlight link কমান্ড (দেখুন :help :highlight-link ) পরিবর্তে আপনার নিজস্ব রং সুনির্দিষ্ট। উদাহরণস্বরূপ এটি লিঙ্ক Error হাইলাইট গ্রুপ এই মত চেহারা হবে:

augroup VoomTagHighlight
  autocmd! ColorScheme *
         \ syn match voomTag "^tags:.*" |
         \ hi! link voomTag Error
augroup END
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.