আমি কি সিটিআরএল + লোয়ার-কেস লেটার থেকে আলাদা করে কোনও সিটিআরএল + আপার-কেস লেটার ম্যাপ করতে পারি?


16

আমি কীভাবে উইন্ডোজগুলিকে সামান্য দ্রুত নেভিগেট করতে হবে তা বোঝার চেষ্টা করছি, তাই আমি নিম্নলিখিতটি মানচিত্র করতে চাই:

:nmap <silent> <C-F> :wincmd f<CR>

সমস্যাটি হ'ল এটি ^f(নিম্ন-কেস f) ম্যাপিংয়ের পুনর্নির্মাণ , যা পৃষ্ঠাটি নীচে। কেবল পুনর্নির্মাণের ^F(আপার-কেস F) কোনও উপায় আছে এবং ^fযেমনটি আছে তেমন ছেড়ে দেওয়ার কি আছে ?

উত্তর:


22

ম্যাপিং <C-F>( Ctrl+letter) সর্বদা ম্যাপিং <C-f>( Ctrl+Shift+letter) হিসাবে সমান । আপনি অন্যটি ছাড়া একটিতে মানচিত্র তৈরি করতে পারবেন না।

সমস্যার মূল যে তেজ টার্মিনাল, যা পাঠায় থেকে অক্ষর সার্চ ^F(ASCII কোড 0x06) উভয়ের জন্য Ctrl+fএবং Ctrl+Shift+f; আপনি শিফট কী টিপলেন কিনা তা জানার কোনও উপায় নেই ভিমের। এই পোস্টটি টার্মিনাল এবং নিয়ন্ত্রণ অক্ষর সম্পর্কে আরও কিছু তথ্য সরবরাহ করে ।

তত্ত্বগতভাবে, এটি gVim দিয়ে করা যেতে পারে, যেহেতু বেশিরভাগ (বা সমস্ত?) গ্রাফিক পরিবেশগুলি আরও বিশদ কী ইভেন্টগুলি প্রেরণ করে। তবে দুর্ভাগ্যক্রমে, gVim অনেকটা টার্মিনাল এমুলেটরের মতো কাজ করে এবং এর মধ্যে <C-f>এবং <C-F>উভয়ই পার্থক্য করতে পারে না (এটি সম্ভবত ভিম-জিভিম সামঞ্জস্যের জন্য একটি নকশার সিদ্ধান্ত ছিল)।


সম্ভাব্য সমাধান:

  • আপনি যখন টিপেন তখন আপনি ভিমে অন্য কোনও কোড প্রেরণের জন্য আপনার টার্মিনাল এমুলেটরটি কনফিগার করতে পারেন Ctrl+Shift+f। উদাহরণস্বরূপ, এক্সটার্মের জন্য আপনি এটি করতে পারেন:

    XTerm*VT100.translations: #override \n\
        Ctrl ~Meta Shift <Key>f: string(0x1b) string("[24;6~")\n\
        Ctrl ~Meta Shift <Key>r: string(0x1b) string("[23;6~")
    

    এটি ভিমের জন্য <C-S-F12>এবং এর জন্য কোডটি প্রেরণ করবে <C-S-F11>, যা আপনি বেছে নিতে পারেন:

    nnoremap <C-S-F12> :echo 'ctrl+F pressed!'<CR>
    nnoremap <C-S-F11> :echo 'ctrl+R pressed!'<CR>
    
  • নোট করুন যে আপনি মানচিত্র করতে পারেনAlt+Shift+letter , যেহেতু টার্মিনাল তাদের জন্য আলাদা কোড পাঠায়: <Esc>f( 0x1b0x66) বা <Esc>F( 0x1b0x46)।

  • নিওভিমের যতদূর আমি সন্ধান করতে পেরেছি, Ctrl+Shift+Enterএবং কয়েকটি সমস্যা বাদে এই সমস্যাটি ঠিক করে নি Ctrl+Shift+Tab, তবে ভবিষ্যতে এই বৈশিষ্ট্যটি যুক্ত করা সম্ভব।

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