<এসকিটি> অক্ষম করুন তবে <সি - [> রাখুন


24

সন্নিবেশ মোড থেকে ফিরে স্যুইচ করার জন্য আমি অভ্যস্ত <Esc>। এখন আমি <C-[>পরিবর্তে নিজেকে পুনরায় প্রশিক্ষণ খুঁজছি <Esc>। তার জন্য আমাকে <Esc>পুনরায় প্রশিক্ষণে সহায়তা করতে অক্ষম করা দরকার ।

সমস্যা হচ্ছে

:inoremap <Esc> <Nop>

এছাড়াও অক্ষম করে <C-[>। ভিমের জন্য তারা একই জিনিস বলে মনে হয়।

অন্যটি ছাড়া একটি অক্ষম করার কোনও উপায় আছে কি?


13
এটি আপনি কোন পরিবেশে কাজ করছেন তার উপর নির্ভর করে। বেশিরভাগ টেক্সট টার্মিনালগুলি আপনি চাপলে Escবা অ্যাপ্লিকেশনটিতে একই তথ্য প্রেরণ করে বা C-[আপনার ভাগ্যের বাইরে চলে গেলেও আপনি ভিমের জিইউআই সংস্করণ দিয়ে বা আপনার টার্মিনালটি পুনরায় কনফিগার করে কিছু করতে সক্ষম হতে পারেন।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

রাইট! ভিম ইস্যু নয়। আমি কীবোর্ড ম্যাপিংয়ের সাহায্যে এক সন্ধান করব। ধন্যবাদ
এমএক্সলিয়ান

3
@ গিলস আপনি উত্তরটিতে কেন রাখছেন না? এটি গুগলারের এবং আমাদের সাইটের পরিসংখ্যানের জন্য ভাল।
রবি ডাব্লিজিজে

2
@ সুপারস্প্রিপ্ট আমি এটি আরও কিছুটা গবেষণা করেছি এবং একটি উত্তর পোস্ট করেছি।
গিলস 'এস-অশুভ হওয়া বন্ধ করুন'

উত্তর:


35

প্রথম, ইতিহাসের একটি বিট। পুরানো দিনগুলিতে, আপনি যখন টার্মিনালে কিছু পাঠ্য টাইপ করেন , প্রতিটি কী অ্যাপ্লিকেশনটিতে একটি অক্ষর প্রেরণ করে। টার্মিনালগুলির সাথে সংযুক্ত মেশিনগুলি আরও শক্তিশালী হয়ে ওঠে, টার্মিনালগুলি একটি নিয়ন্ত্রণ কীতে মানীকৃত হয় , যা কিছু বিশেষ অক্ষর প্রেরণ করবে, যা মুদ্রিত ছিল না তবে কিছু ধরণের ক্রিয়াকলাপ ছিল। শেষ পর্যন্ত বিজয়ী চরিত্রের সেটটি ছিল ASCII , যার মধ্যে 128 টি অক্ষর ছিল যার মধ্যে 32 টি নিয়ন্ত্রণের অক্ষর। টিপলে Ctrlএকটি চিঠি বা অন্যান্য প্রতীক লিখিত 10xxxxx₂ (বাইনারি স্বরলিপি) সঙ্গে একসঙ্গে নিয়ন্ত্রণ চরিত্র যার কোড 00xxxxx₂ হয়, যেমন পাঠায় Ctrl+ + [পাঠায় চরিত্র সংখ্যা 27₁₀ = 0011011₂ কারণ [হয় 91₁₀ = 1011011₂।

টার্মিনালগুলির কয়েকটি ফাংশন কীগুলি নিয়ন্ত্রণের অক্ষর প্রেরণ করেছিল:

  • Backspace= Ctrl-H(বিএস = ব্যাকস্পেস) ¹
  • Tab= Ctrl-I(এইচটি = অনুভূমিক ট্যাব)
  • Linefeed= Ctrl-J(এলএফ = লাইন ফিড) (কয়েকটি টার্মিনালের কখনও এই কী ছিল)
  • Returnবা Enter= Ctrl-M(সিআর = ক্যারেজ রিটার্ন)
  • Escape= Ctrl-[(ইসএসসি = পালানো)

যখন টার্মিনালগুলিতে আরও বেশি ফাংশন কী ছিল, তাদের সমস্ত উপস্থাপনের জন্য পর্যাপ্ত নিয়ন্ত্রণ অক্ষর ছিল না। সুতরাং তারা চরিত্রের ক্রমগুলি পাঠিয়েছিল এবং সর্বজনীন সম্মেলন হ'ল এই চরিত্রের ক্রমগুলি পালানোর চরিত্রের সাথে শুরু হয় Ctrl-[,।

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

সুতরাং আজও ইউনিক্সের মতো সিস্টেমগুলিতে, টার্মিনাল এমুলেটরটিতে চলমান অ্যাপ্লিকেশনগুলি Ctrl-Iব্যবহারকারী Tabকী চাপলে অক্ষরটি গ্রহণ করে , ব্যবহারকারী Ctrl-[যখন চাপায় Esc, ইত্যাদি ইত্যাদি। যদি উইমিক্স ইউনিক্স টার্মিনালে চলমান থাকে তবে এটি এর মধ্যে পার্থক্য করতে পারে না <Esc>এবং <Ctrl-[>কারণ টার্মিনাল একই তথ্য প্রেরণ করে।

অন্যান্য পরিবেশে চলমান ভিমের এই সীমাবদ্ধতা নেই, তাই নীতিগতভাবে তাদের পক্ষে বিভিন্ন তথ্য প্রেরণ করা সম্ভব হবে। প্রদত্ত যে ভিম Ctrl-[চরিত্রটি <Esc>প্রচুর জায়গায় উপস্থাপন করতে ব্যবহার করে , এটি পরিবর্তন করা অযৌক্তিক হবে; পরিবর্তে Ctrl+ [একটি ভিন্ন ইনপুট ইভেন্ট প্রেরণ করা যেতে পারে।

আমি ভিমের নিজেই এমন কোনও সংস্করণ সম্পর্কে অবগত নই যা + Escএবং Ctrl+ এর মধ্যে পার্থক্য রাখে [(তবে এটি আমি পছন্দ করি না এমনটি কখনও হয় না)। Gvim, এক হিসাবে, মনে হয় একটি বাগান বিভিন্ন টার্মিনাল অনুকরণ

হাস্যকরভাবে, আপনার সেরা বেটটি টার্মিনাল এমুলেটরটিতে চলছে ভিম im কিছু টার্মিনাল এমুলেটর আপনাকে কী এবং কীচর্ডস দ্বারা প্রেরিত পালানোর ক্রমগুলি কাস্টমাইজ করার অনুমতি দেয়। সুতরাং আপনি ␛ ( ) অক্ষরটি না পাঠানোর জন্য Ctrl+ এর ব্যবস্থা করতে পারেন তবে কিছু পালানোর ক্রম। এক্সটার্ম, ইউনিক্সের মতো সিস্টেমগুলির জন্য "রেফারেন্স" টার্মিনাল এমুলেটর, এই জাতীয় দুটি স্কিম সমর্থন করে। উদাহরণ স্বরূপ:[Ctrl-[

  • Escসমস্ত কনফিগারেশনে প্রেরণ এবং Tabপ্রেরণ করে
  • সঙ্গে ?.VT100.modifyOtherKeys: 0(ডিফল্ট) বা ?.VT100.modifyOtherKeys: 1, Ctrl+ + [পাঠায় এবং Ctrl+ + Iপাঠায় ?.VT100.modifyOtherKeys: 1কেবল মেটা সংমিশ্রণগুলি এবং নিয়ন্ত্রণ সংমিশ্রণগুলিকে প্রভাবিত করে যার একটি ASCII অক্ষর নেই।
  • সহ ?.VT100.modifyOtherKeys: 2এবং ?.VT100.formatOtherKeys: 0(ডিফল্ট), Ctrl+ [প্রেরণ ␛[27;5;91~এবং Ctrl+ Iপ্রেরণ করে ␛[27;5;105~
  • সহ ?.VT100.modifyOtherKeys: 2এবং ?.VT100.formatOtherKeys: 1, Ctrl+ [প্রেরণ ␛[91;5uএবং Ctrl+ Iপ্রেরণ করে ␛[105;5u

এক্সটারম শুরু modifyOtherKeys করার সময় (এবং formatOtherKeysদুটি স্কিমের মধ্যে নির্বাচন করার জন্য) রিসোর্স সেট করে সমর্থনটি চালু করা যেতে পারে, বা অ্যাপ্লিকেশনটির মাধ্যমে এটি গতিশীলভাবে চালু এবং বন্ধ করা যেতে পারে।

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

নিওভিমের একটি বৈকল্পিকের জন্য অন্তর্নির্মিত সমর্থন রয়েছে । আমি যতদূর বুঝতে পেরেছি, টার্মিনাল এটি সমর্থন করে তবে এটি সমর্থনটি স্যুইচ করে না, এটি ব্যবহারকারীর উপর নির্ভর করে।

Asing ক্রমহ্রাসমান এবং সবচেয়ে সাধারণভাবে আজকাল, Backspace127 অক্ষর প্রেরণ করে।

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