ম্যাপিং <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, তবে ভবিষ্যতে এই বৈশিষ্ট্যটি যুক্ত করা সম্ভব।