ঠিক আছে, এটি কৃপা একটি সমাধান তবে এটি কার্যকর বলে মনে হচ্ছে। আপনি কীভাবে এটি মানচিত্র করতে চান তা আমি ঠিক নিশ্চিত নই, তাই আমি <leader>i
আমার উদাহরণে এটি ম্যাপ করেছি । আপনি যা খুশি তাতে এটিকে নির্দ্বিধায় পরিবর্তন করুন।
function! Icap()
augroup icap
au InsertLeave * exec "normal! \<C-o>gUlgi\<esc>:augroup icap | au! | augroup END\<cr>"
au InsertEnter * exec "normal! m`"
augroup END
endfunction
nnoremap <leader>i :call Icap()<cr>i
এটি যা করে একটি ফাংশন "আইক্যাপ" সংজ্ঞায়িত করে ('ইনসার্ট ক্যাপিটালাইজ' এর জন্য সংক্ষিপ্ত) যা দুটি স্বতঃশক্তি সেট আপ করে। প্রবেশের মোডে প্রবেশের আগে প্রথম অটোকম্যান্ডটি ঠিক এটি:
তারপরে foo কল করার পরে এবং sertোকানো মোড তত্ক্ষণাত্, নিম্নলিখিতটি ঘটবে:
Vim প্রকার <C-o>gUl
। এটি জাম্পলিস্টে আপনার আগের অবস্থানে চলে যাবে এবং কার্সারের নীচে অক্ষরটিকে বড় হাতের কাছে রূপান্তর করবে। এর পরে, ভিম প্রকারগুলি gi<esc>
। কার্সারটি পূর্ববর্তী স্থানে ফিরে পাওয়ার এটি একটি হ্যাকি উপায়। তাত্ত্বিকভাবে, <C-i>
কাজ করা উচিত, তবে আমি এটি পরীক্ষা করার সময় আমি অদ্ভুত সমস্যার মধ্যে পড়েছিলাম।
ভিম এই ফাংশনের সাথে সম্পর্কিত প্রতিটি স্বতঃসমানু মুছে ফেলে। এটি হ'ল ভবিষ্যতের সন্নিবেশ মোডের পরিবর্তনগুলি আপনি চান না এমন অদ্ভুত সম্পাদনাগুলি করা থেকে রোধ করতে।
আপনি এইভাবে ম্যাপিংও করতে পারেন:
nnoremap <leader>i :call Icap()<cr>
যা পরে আপনি অন্য কমান্ড ব্যবহার করতে সন্নিবেশ মোড (প্রবেশ করতে সম্ভব হবে c
, a
, I
, o
, s
ইত্যাদি,) এবং এখনও ক্যাপিটালাইজেশন পার্শ্ব প্রতিক্রিয়া পেতে।