Vi শেল মোডের জন্য কাস্টম কী বাইন্ডিংগুলি, অর্থাত্, "সেট -ও vi"?


18

আমি কেবলমাত্র বিস্ময়কর জিনিসগুলি আবিষ্কার করেছি set -o viএবং কৌতূহল বোধ করি যদি আপনি এই ভিআই শেল মোডটি একইভাবে কিছু উপায়ে কাস্টমাইজ করতে পারবেন তবে আপনি vi বা vim কে অনুকূলিত করতে পারবেন?

উদাহরণস্বরূপ, আরও সুবিধাজনক কী বা কী কম্বো মানচিত্রে একটি কাস্টম কী বাইন্ডিং তৈরি করুন esc ?

যদি এটি বর্তমানে সমর্থিত না হয় তবে প্রোগ্রামের উত্স কোড এবং কিছু কাস্টমাইজেশনে হার্ডকোড পরিবর্তন করা কতটা কঠিন, বা এটি একটি খারাপ ধারণা হবে?


আমি উত্তরটি এখানে খুঁজে পেয়েছি < unix.stackexchange.com/questions/27699/remap-bash-vi-keys >
ডিনিজবিআর

উত্তর:


17

হ্যাঁ, আপনি বিল্টিনের সাহায্যে কী ম্যাপিংগুলি (vi- বা ইমাকস-মতো মোডের জন্য) পরিবর্তন করতে পারেন bind। এটি আসলে একটি রিডলাইন বৈশিষ্ট্য (যাতে আপনার কেবলমাত্র বাশ নয়, সমস্ত পাঠ্যক্রমের প্রোগ্রামে vi- এর মতো বাইন্ডিং থাকতে পারে)।

আপনি যে কীটির সন্ধান করছেন তাকে কল করা হয় vi-movement-modeএবং এটি \e(পালাতে) ডিফল্ট হয় । আপনি অতিরিক্ত এটি আবদ্ধ করতে পারেন (এবং এটি বরং মূর্খ) এর সমান। দ্বিতীয় রেখাটি পালানোর জন্য বাইন্ডিং থেকে মুক্তি পেয়েছে:

$ bind "=":vi-movement-mode 
$ bind -r "\e"

চলমান bind -pআপনি কী বাঁধাই করতে পারবেন তার সমস্ত কী এবং তাদের বর্তমান বাইন্ডিংগুলি (যদি থাকে) প্রদর্শন করবে।

আপনি আপনার bindকমান্ডগুলি রাখতে পারেন .bashrc, বা ~/.inputrcআপনি চালিত সমস্ত রিডলাইন প্রোগ্রামগুলিতে এটি প্রয়োগ করতে আপনি সম্পাদনা করতে পারেন। রিডলাইন ডক্সে পুরো বিশদ থাকে contain


1
এটা সত্যিই দারুন. অনেক ধন্যবাদ. আমি কী কী কী সংযুক্ত করতে পারি তা নির্ধারণ করতে সক্ষম হয়েছি bind "Control-Space":vi-movement-mode- এটি দুর্দান্ত কাজ করে। তবে উদাহরণস্বরূপ ভিমে আমি একটি সারিতে দুটি অক্ষর টাইপ করেছি ট্রিগার হিসাবে esc, অর্থাৎ, আপনি যদি টাইপ করেন তবে আপনি jjস্বাভাবিক মোডে ফিরে যাবেন। বাঁধাই দিয়ে চেষ্টা করার পরে এটি কাজ করে না, এটি কার্যকর করার কোনও বিশেষ উপায় আছে?
জোনাহ

@ জোনাহ আমি যে অফ-হ্যান্ড সম্পর্কে জানি তা নয়, তবে আমি সম্প্রতি পঠন দস্তাবেজগুলিকে অনুভব করতে পারি নি ...
পঠন অনুধাবন করিনি

@ চিশাকাকুতে আপনাকে জোনার নাম একটি চিহ্ন ( @) দিয়ে প্রিফিক্স করতে হবে , অথবা তিনি কোনও বিজ্ঞপ্তি পাবেন না।
ডারোবার্ট

2
@ জোনাঃ আমি কেবল একই কাজ করার চেষ্টা করেছি। আপনি কি কখনও এটি খুঁজে বের করতে পারেন?
চিশাকু

1
unix.stackexchange.com/questions/303282/… আপনার কোনও কারণে উদ্ধৃতি প্রয়োজনbind '"jk":vi-movement-mode'
হিল্কে ওালিঙ্গা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.