উত্তর:
এখানে একটি অপরিশোধিত "লাইন" পাঠ্য-বস্তু রয়েছে:
xnoremap il g_o0
onoremap il :normal vil<CR>
xnoremap al $o0
onoremap al :normal val<CR>
এবং একটি অশোধিত "বাফার" পাঠ্য-অবজেক্ট:
xnoremap i% GoggV
onoremap i% :normal vi%<CR>
--- সম্পাদনা ---
: একটি "অপারেটর" কমান্ড যে নিজে কিছু করবে না d
, y
ইত্যাদি
এই কীগুলি টিপলে আপনাকে "অপারেটর-মুলতুবি মোডে" রাখে, যেখানে ভিম আপনার "অপারেটর-মুলতুবি মোশন" দিয়ে এটি কী পরিচালনা করতে চান তা বলার অপেক্ষা রাখে।
আপনি কাস্টম অপারেটর-মুলতুবি গতিগুলি ব্যবহার করতে :omap
বা :onoremap
সংজ্ঞায়িত করতে পারেন । এখানে ব্যবহৃত কৌশলটি দ্বারা অনুপ্রাণিত :help omap-info
:
নোট যে আমি ব্যবহৃত :onoremap
কারণ il
, al
এবং i%
ইতিমধ্যে কোন অস্তিত্ব নেই। আপনি যদি একটি বিদ্যমান গতি বা পাঠ্য-বস্তুর অগ্রাহ্য হয় - বলে ip
- আপনি একটি recursive ম্যাপিং ব্যবহার করা আবশ্যক: :omap
।
:help :map-operator
কিছুটা আরও উন্নত পদ্ধতি বর্ণনা করে।
দেখুন :help v_o
জন্য o
চাক্ষুষ মোডে আছে।
o
(অপারেটর মুলতুবী মোড) onoremap মধ্যে? কী o
চাক্ষুষ মোডে না? আমি অনুমান করব যে এটি "অন্য দিক", কারণ এটি নির্বাচনের অন্য দিকে ঝাঁপিয়ে পড়েছে বলে মনে হচ্ছে ... আমি কীভাবে এটি খুঁজে :h
পাব? আমি :h x_o
বা এর সাথে এটি খুঁজে পাচ্ছি না :h o
।
আমি 0 এর পরিবর্তে use ব্যবহার করার জন্য একটি অতিরিক্ত সমাধানের পরামর্শ দেব (যাতে লাইনটি প্রথম অক্ষরের শুরুতে শুরু হয়:
xnoremap il g_o^
onoremap il :normal vil<CR>
xnoremap al $o^
onoremap al :normal val<CR>
এইভাবে যদি আমরা "লাইনে পরিবর্তন" করি তবে এটি ইনডেন্টেশন স্তরের সম্মান করবে।