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


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.