একটি লাইন কলাম এন পরে সবকিছু নির্বাচন করার জন্য ভিম regex


2

আমি একটি রেজেক্স খুঁজছি যা 51 তম চরিত্র থেকে লাইনের 50 সেকেন্ডের বেশি লাইনের জন্য লাইনের সমস্ত পাঠ্য নির্বাচন করবে।

লাইনের প্রথম 50 টি অক্ষর অন্তর্ভুক্ত করতে আমার রেজেক্ট দরকার।

এটির কারণটি gitcommit.vim সিনট্যাক্স ফাইলে কিছু যোগ করার জন্য যখন আমি সারাংশের 50 টি অক্ষর অতিক্রম করছি তখন এটি আরও সুস্পষ্ট করতে। বিন্যাস ctermbg=red অথবা ঐ লাইন বরাবর কিছু।

আমি সচেতন আমি সম্ভবত সেটিং মত কিছু করতে পারে সচেতন ctermbg=red পুরো প্রথম লাইন জন্য, এবং তারপর যাক gitcommitSummary সিনট্যাক্স গ্রুপটি প্রথম 50 টি অক্ষরগুলির জন্য ব্যাকগ্রাউন্ডটিকে আবার সেট করে, তবে এই সমস্যাটি আমার আগ্রহকে প্রভাবিত করেছে এবং আমি রেজেক্সের লাইনের প্রথম X অক্ষরগুলি দেখতে বাদ দেওয়ার উপায় খুঁজে বের করতে চাই।

আমি নীচের মত কিছু দিয়ে চারপাশে বাজানো ছিল, কিন্তু এটি একটি শূন্য-প্রস্থ দাবি তাই এটি সম্ভবত কাজ করে না। কোন ধারনা?

# This just highlights all lines exceeding 50 characters
/^\(.\{50\}\)\@=.*$

সম্পাদনা করুন: জিটকমিত.ভিম ফাইলটি আসলে "পরবর্তী গোষ্ঠী" ব্যবহার করে এটির জন্য সিনট্যাক্স হাইলাইট করেছে এবং এটি ডিফল্টভাবেই মন্তব্য করেছে। তাই আমি আমার মূল লক্ষ্যে পৌঁছালাম কিন্তু আমি এখনও জানতে চাই যে রেজেক্স দিয়ে এটি করা সম্ভব কিনা।

উত্তর:


6

একটি নির্দিষ্ট কলামে মিলানোর জন্য ভিম রেজেক্ট পরমাণু হয় \%Nc যেখানে N কলাম সংখ্যা। দেখ

:help /\%c

একটি ভার্চুয়াল কলাম সংখ্যা মেলে, পরমাণু হয় \%Nv। দেখ

:help /\%v

কলাম 50 এর পরে কিছু অনুসন্ধান করতে, আপনি ব্যবহার করতে পারেন

/\%>50v

যেখানে > কলাম 50 এর পরে কোনও কলামে মিলতে হবে। আপনি যে রেজেক্সটি এটিকে ব্যবহার করতে পারেন:

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