এক্সপ্রেশন রেজিস্টার দিয়ে গণনা করুন
আপনি সাধারণ মোড এবং সন্নিবেশ মোড উভয় ক্ষেত্রে গণনা করতে পারেন।
স্বাভাবিক অবস্থা
সাধারণ মোডে, আপনি টাইপ করলে @=
আপনার কার্সারটি কমান্ড লাইনে চলে যাবে, যেখানে আপনি কোনও অভিব্যক্তি প্রবেশ করতে পারেন। আপনি এন্টার টিপলে, অভিব্যক্তির ফলাফলটি সাধারণ মোড কমান্ড হিসাবে কার্যকর করা হবে।
উদাহরণস্বরূপ, ধরুন আপনি বর্তমান লাইনের মধ্য কলামে যেতে চান। ফাংশন কল col('$')
লাইনে কলামগুলির সংখ্যা প্রদান করে, তাই আমরা নিম্নলিখিতটি টাইপ করে কী অর্জন করতে পারি:
@=col('$')/2<CR>|
আপনি এন্টার টিপলে, কার্সারটি বাফারে ফিরে আসে এবং ভিএম অপারেটরের (যেমন |
) অপেক্ষা করে থাকে যেন আপনি সবেমাত্র একটি নম্বর লিখেছেন। বিকল্পভাবে, আপনি এটি প্রবেশ করতে পারে:
@=col('$')/2.'|'
... তবে অবশ্যই এটি আরও বাইটস।
মোড Inোকান
আপনি sertোকান মোডে এক্সপ্রেশন রেজিস্টারটিও এর <Ctrl-r>=
পরিবর্তে টিপে ব্যবহার করতে পারেন@=
। এটি সাধারণ মোডে একই কাজ করে, আপনার প্রবেশ করা এক্সপ্রেশনটির ফলাফল বাদ দেওয়া সন্নিবেশ মোডে কার্যকর করা হবে। উদাহরণস্বরূপ, যদি আপনি টাইপ করেন<Ctrl-r>=col('$')<CR>
করলে বর্তমান লাইনে কলামগুলির সংখ্যা কার্সারে প্রবেশ করানো হবে যেমন আপনি এটি টাইপ করেছেন।
এক্সপ্রেশন রেজিস্টার সম্পর্কে আরও তথ্যের জন্য, টাইপ করুন :help "=
।
এক্সপ্রেশন পুনরায় ব্যবহার করা হচ্ছে
আপনি যে সর্বশেষ অভিব্যক্তিটি ব্যবহার করেছেন তা এক্সপ্রেশন রেজিস্টারে সংরক্ষণ করা হয় "=
। @=<CR>
স্বাভাবিক মোডে টাইপ করা বা<Ctrl-r>=<CR>
সন্নিবেশ মোডে আবার ভাবটি মূল্যায়ন করবে, আপনাকে এগুলি ম্যাক্রোর মতো ব্যবহার করতে দেয়।
বিকল্পে গণনা করুন
আপনি নিয়মিত প্রকাশের বিকল্পগুলি করার সময়ও এক্সপ্রেশনকে মূল্যায়ন করতে পারেন। আপনাকে যা করতে হবে তা হ'ল আপনার প্রতিস্থাপন শুরু করা \=
। উদাহরণস্বরূপ, ধরুন আপনি এই ফাইলটিতে লাইনগুলি সংখ্যা করতে চেয়েছিলেন:
foo
bar
baz
ফাংশন কলটি line('.')
বর্তমান লাইনের নম্বরটি দেয়, তাই কাজটি সহজ। এটি প্রবেশ করানো হচ্ছে:
:s/^/\=line('.').' '/g<CR>
... কাঙ্ক্ষিত ফলাফল দেয়:
1 foo
2 bar
3 baz
এরকম অঙ্গভঙ্গি বন্দী গ্রুপ ব্যবহার করার জন্য আপনি ব্যবহার করতে পারেন submatch()
ফাংশন, যেখানে যেমন submatch(0)
সমতূল্য \0
একজন সাধারণ প্রতিকল্পন এ, submatch(1)
সমতূল্য\1
, ইত্যাদি কীস্ট্রোকগুলির অনেক এই খায় দুর্ভাগ্যবশত।
এক্সপ্রেশন বিকল্পের আরও তথ্যের জন্য, টাইপ করুন :help sub-replace-expression
।