ম্যাচগুলিতে রেগেক্স করতে সাধারণ মোড কমান্ড প্রয়োগ করুন


10

ক্লোজার ফাংশন সংজ্ঞাটির নীচে ডকুমেন্টেশন স্ট্রিংয়ের সাথে মেলে আমি নিম্নলিখিত নিয়মিত অভিব্যক্তিটি ব্যবহার করছি:

\vdefn.*\n\s*\zs"([^"]|\n)*"

gqকোনও প্রদত্ত ফাইলে এই প্যাটার্নের সমস্ত ম্যাচে সাধারণ মোড (ফর্ম্যাট লাইন) কমান্ড চালানোর কোনও উপায় আছে কি ?

উত্তর:


10

শক্তি g:

:g/\vdefn.*\n\s*\zs"([^"]|\n)*"/normal gngq

এর মধ্যবর্তী অংশটি /মোটামুটি স্ব-বর্ণনামূলক, যেহেতু এটি আপনার আসল প্রশ্ন থেকে উত্তীর্ণ।

normal gngqশেষে কিছুটা আকর্ষণীয়। gnনিয়মিত প্রকাশের পরবর্তী ম্যাচটি নির্বাচন করবে এবং gqঅবশ্যই এই নির্বাচনটি ফর্ম্যাট করবে (যেমন আপনি আপনার প্রশ্নের উল্লেখ করেছেন)।

:gসত্যিই দুর্দান্ত অংশ। এটি আমার মতে, ভিমের অন্যতম দরকারী বৈশিষ্ট্য। gপ্রাক্তন কমান্ড একটি Regex এবং প্রাক্তন কমান্ড নেয় এবং যে লাইনে Regex ম্যাচ কমান্ড সঞ্চালন করে। আপনি যদি :gইতিমধ্যে সম্পর্কে না শিখে থাকেন তবে আমি তা করার পরামর্শ দিচ্ছি, কারণ এটি আপনার উত্পাদনশীলতা ব্যাপকভাবে বৃদ্ধি করবে। কয়েকটি রিসোর্স হ'ল ভিমের নিজস্ব :help :gবা পাওয়ার অফ জি ভিম উইকিতে।


gnটুকরা লাইন যেখানে থেকে নির্বাচন করা হয় Vথেকে সূত্রপাত হয় পরবর্তী প্যাটার্ন সংঘটন (একই লাইনে এক)। ভিমের ডকুমেন্টেশনে বলা হয়েছে যে ভিজ্যুয়াল মোড সক্রিয় থাকলে নির্বাচনটি বর্তমান পংক্তির থেকে পরবর্তী প্যাটার্নের মাধ্যমে প্রসারিত করা হবে। এটি অনাকাঙ্ক্ষিত আচরণের কারণ হচ্ছে।

@ আরব ওফস, এটি বুঝতে পারেন নি। সম্পাদনা করা হয়েছে।
ডুরকনব

ম্যাচটির লাইন থেকে পরের ম্যাচটিতে এখনও নির্বাচন is স্বাভাবিক মোড কমান্ডগুলির মধ্য দিয়ে পদক্ষেপটি ম্যানুয়ালি দেখায় যা //s<cr>বর্তমান লাইনে ম্যাচের শুরুতে //e<cr>আমাকে ছেড়ে দেয় , তবে বর্তমান ম্যাচটি নয়, পরের ম্যাচের শেষে আমাকে ছেড়ে যায়।

1
সমস্যাটি উপস্থিত রয়েছে বলে মনে হয় //s<cr>V। আমি যখন চালনা :normal Vকরি তখন প্রত্যাশা অনুযায়ী ভিজ্যুয়াল লাইন মোডে যাই। প্রত্যাশার মতো আমি যখন ম্যাচের :normal //s<cr>প্রথমটিতে আমার কার্সারটি চালাচ্ছি "। আমি যখন চালনা :normal //s<cr>Vকরি তখন আমি ভিজ্যুয়াল নির্বাচন পাই না।

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