ভিম ইন, "/ A \ n \ zsB" অনুসন্ধান কেন কাজ করে, কিন্তু সিনট্যাক্স হাইলাইটিং নয় ": সিঙ্ক মিল স্টেটমেন্ট 'A \ n \ zsB'"?


0

নিম্নলিখিত টেক্সট ফাইল অনুমান করুন:

A
B

অথবা অন্য কথায়, শুধুমাত্র একটি স্ট্রিং ধারণকারী একটি ফাইল A\nB

আসুন দেখি যে আমি কোন ম্যাচ করতে পারি কিনা B দ্বারা পূর্বে A এবং একটি নতুন লাইন। যথেষ্ট সহজ। আমি একটি সঙ্গে সফলভাবে এই কাজ করতে পারেন / -search: /A\n\zsBB এখন হাইলাইট করা হয়।

কিন্তু আমি সত্যিই কি করতে চান তা হাইলাইট সিনট্যাক্স প্রয়োগ করা হয় B। সেই অনুযায়ী, আমি চেষ্টা করি :syn match Statement 'A\n\zsB', কিন্তু এই কিছুই না। যে কেউ একটি ধারণা আছে কেন?

(এবং শুধুমাত্র প্রস্তাবগুলি প্রাক-খালি করার জন্য আমি সঠিকভাবে সিনট্যাক্স হাইলাইটিং চালু করতে পারিনি: :syn match Statement 'A\n\B' না প্রত্যাশিত হিসাবে কাজ: A এবং B রঙ পরিবর্তন করুন।)

উত্তর:


1

এই নথিভুক্ত আচরণ। দেখ :help :syn-multi-line, উদ্ধৃত এখানে:

When using a start pattern with an offset, the start of the match is not
allowed to start in a following line.  The highlighting can start in a
following line though.  Using the "\zs" item also requires that the start
of the match doesn't move to another line.

সমাধানটি কোথায় শুরু হয় তার পরিবর্তে হাইলাইটিং কোথায় শুরু হয় তা নির্দিষ্ট করতে হয়। উদাহরণ স্বরূপ:

:syn match Statement 'A\nB'hs=e-1

দেখ :help :syn-pattern-offset


চমৎকার, ধন্যবাদ! আমি ঠিক যে তথ্য প্রয়োজন, এখনো উপেক্ষা করা বলে মনে হচ্ছে।
Will
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.