অবশ্যই আপনি আর Ctrl+ ব্যবহার করতে পারবেন না R। আপনি যদি জেড শেল ম্যানুয়ালটির সাথে পরামর্শ করেন তবে আপনি দেখতে পাবেন যে কী ম্যাপে history-incremental-search-backwardউইজেটের জন্য কেবল একটি মূল বাঁধাই রয়েছে emacs। Vi কীম্যাপসে এর জন্য কোনও কী বাইন্ডিং নেই।
তবে যেমন আপনি ম্যানুয়ালটি পড়েছেন (এটি অধ্যায় 18 from), কী বাইন্ডিং যুক্ত করা bindkeyকমান্ডটির ব্যবহারে মোটামুটি সহজ অনুশীলন :
bindkey "^R" history-incremental-search-backward
এমনকি zleশেল ফাংশনটিতে উইজেটটি মানচিত্র করতে আপনাকে কমান্ডটি ব্যবহার করতে হবে না , কারণ এটি একটি স্ট্যান্ডার্ড উইজেট।
আপনি যদি জেড শেল উইকিতে থাকা এই একই প্রশ্নের উত্তরের জন্য পরামর্শ নেন , আপনি বিশেষত এটি vi "কমান্ড" এবং "সন্নিবেশ মোড" কীম্যাপগুলিতে যুক্ত করার জন্য কমান্ডগুলি দেখতে পাবেন:
bindkey -M viins '^R' history-incremental-search-backward
bindkey -M vicmd '^R' history-incremental-search-backward
আরও মনে রাখবেন, গ্যারিজন জন যেমন উল্লেখ করেছেন , vi "কমান্ড" কীম্যাপে, /চরিত্রটি vi-history-search-backwardউইজেটের সাথে আবদ্ধ । এই উইজেট এবং উইজেটের মধ্যে পার্থক্য history-incremental-search-backwardহ'ল উইজেট আচরণ যা ইতিহাস অনুসন্ধান মোডে একবার প্রযোজ্য । এখানে কয়েকটি পার্থক্য যা আপনি লক্ষ্য করবেন:
- ভিআই মোডগুলি স্যুইচ করা:
- মধ্যে অনুসন্ধান মোডে
history-incremental-search-backwardমধ্যে টগল mainএবং vicmdবোর্ডের ব্যবহার যখন আপনি ডাকা vi-cmd-modeথাকাকালীন এখনও অনুসন্ধান মোডে স্থিত উইজেট। থেকে অর্থাত emacsমোড presssing Escকী বা Ctrl+ + XCtrl+ + Vকী মধ্যে অনুসন্ধান মোডে টগল emacsএবং vicmdবোর্ডের ব্যবহার। (Invoking history-incremental-search-backwardথেকে vicmdকীম্যাপ যদি না আপনি বেঁধে কিছু, এইভাবে বিরক্তিজনক হয় vi-cmd-modeমধ্যে vicmdপাশাপাশি কীম্যাপ।)
- অনুসন্ধান মোডটি উইজেটের
vi-history-search-backwardসাথে একই আচরণ করে এবং অনুসন্ধানটি শেষ করবে, আপনি যে কমান্ড মোড থেকে সন্ধানটি প্রবেশ করেছিলেন তা পুনরায় প্রবেশ করবে। যেমন (ডিফল্ট বাইন্ডিং সহ) কমান্ড মোড থেকে অনুসন্ধান মোডে প্রবেশ করে এবং কমান্ড মোডে ফিরে যায়।vi-cmd-modeaccept-line/Esc
- একটি অনুসন্ধান পুনরাবৃত্তি:
- ইন
history-incremental-search-backward, history-incremental-search-backwardএবং vi-rev-repeat-searchউইজেট উভয়ই স্বীকৃত। উদাহরণস্বরূপ (ধরে নেওয়া যায় যে আপনি বাইন্ডিংগুলি উপরের মতো পরিবর্তন করেছেন) উভয় Ctrl+ Rএবং Nপূর্ববর্তী মিলের লাইনটি অনুসন্ধান করবে।
- ইন
vi-history-search-backward, কেবলমাত্র vi-rev-repeat-searchউইজেট স্বীকৃত। উদাহরণস্বরূপ (ধরে নেওয়া যে আপনি উপরের মতো বাইন্ডিংগুলি পরিবর্তন করেছেন) Ctrl+ Rবীপের কারণ এবং এড়ানো হবে।
garyjohnএটি করার একটি ভিম উপায়JdeBPদেখায় এবং কীভাবে Ctrl + R এর কী-বাইন্ডিং পাবেন তা দেখায়! আমি উভয় পদ্ধতি নিয়ে খেলতে যাচ্ছি এবং পরে একটি উত্তর গ্রহণ করব। আমি 1 এর উপর ভিত্তি করে সিদ্ধান্ত নেব) কোন পদ্ধতিটি আমার কাছে সহজ মনে হয় এবং 2) কোনটি আরও উচ্চতর হয়। আপনাদের দুজনকেই ধন্যবাদ!