আমি যে প্রথম চিঠিটি লিখছি তা মূলধন করে কীভাবে সন্নিবেশ মোডে প্রবেশ করবেন?


2

আমি একটি পুনরাবৃত্ত টাস্ক করছি যার জন্য আমি এফ-কিগুলির মধ্যে একটিতে একটি ম্যাক্রো সংজ্ঞায়িত করেছি, তবে প্রতিবার যখনই আমি এই ম্যাক্রো সম্পাদন করব তখন প্রথম অক্ষরটি টাইপ করতে আমাকে শিফটটি ধরে রাখতে হবে। আমি ভাবলাম যে এটিকেও ম্যাক্রোর মধ্যে অন্তর্ভুক্ত করা যেতে পারে, তবে এটি করার উপায়গুলির জন্য আমার অনুসন্ধান ফলপ্রসূ ছিল।

পাঠ্যে কার্সারের অবস্থান সম্পর্কিত, সন্নিবেশ মোডে প্রবেশের অনেকগুলি উপায় রয়েছে। তবে আমি কি এমন ম্যাক্রো সংজ্ঞায়িত করতে পারি যা সন্নিবেশ মোডে প্রবেশের পরে আমি যে প্রথম অক্ষরটি লিখি তা মূলধন করে এবং কেবলমাত্র এটিই?

উত্তর:


4

ঠিক আছে, এটি কৃপা একটি সমাধান তবে এটি কার্যকর বলে মনে হচ্ছে। আপনি কীভাবে এটি মানচিত্র করতে চান তা আমি ঠিক নিশ্চিত নই, তাই আমি <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ইত্যাদি,) এবং এখনও ক্যাপিটালাইজেশন পার্শ্ব প্রতিক্রিয়া পেতে।


উত্তরের জন্য ধন্যবাদ, তবে বিলম্বিত প্রভাবের পাশাপাশি এটি ঠিক আছে, কার্সারটি মূলধনিত চিঠির উপরেই শেষ হয়, যেখানে আমি টাইপিং শেষ করি না, এবং এটি আমার জন্য একটি চুক্তি ভঙ্গকারী। আপনি যদি এটি সংশোধন করেন তবে আমি আপনার উত্তর গ্রহণ করব।
রিনিস্যাক

@ রেনেস্যাক আমার সম্পাদনা দেখুন
DJMcMayhem

হ্যাকি, তবে আমি নিজেকে যে ম্যাক্রোটি করেছিলাম তার চেয়ে বেশি ব্যবহার করার জন্য নিজেকে দেখতে পাচ্ছি, বিশেষত আমার <লিডার> <স্পেস> থাকা অবস্থায়। ধন্যবাদ।
রিনিস্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.