কেন zsh এ ভিডিটিকে EDITOR হিসাবে রফতানি কীবোর্ড শর্টকাটগুলি অক্ষম করে?


23

আমার .zshrcচেহারাটি এরকম:

export EDITOR="/usr/bin/vim"

এখন যখন আমি একটি টার্মিনাল খুলি এবং একটি কীবোর্ড শর্টকাট প্রবেশ ctrlaকরি লাইনের শুরুতে যেতে পছন্দ করি, এটি কার্যকর হয় না। পরিবর্তে, স্ট্রিং ^A(বা অন্য কিছু স্ট্রিং, আমি প্রবেশ করানো শর্টকাটের উপর নির্ভর করে) টার্মিনালে প্রবেশ করে:

emlai:~ % ^A

exportআমার থেকে শব্দটি সরিয়ে ফেলা .zshrcকীবোর্ড শর্টকাটগুলি সঠিকভাবে কাজ করে:

EDITOR="/usr/bin/vim"

কিবোর্ড শর্টকাটকে খুব কার্যকর করে তোলে তার EDITORচেয়ে অন্য কিছু হিসাবে রফতানি করা vim, যেমন:

export EDITOR="/usr/bin/nano"

কেন এমন হয়?

আমি এটিও পরীক্ষা করে দেখেছি bashএবং কীবোর্ড শর্টকাটগুলি সেখানকার সমস্ত ক্ষেত্রে সঠিকভাবে কাজ করে।

উত্তর:


27

zshকমান্ড-লাইন সম্পাদনার জন্য দুটি আধুনিক শেলের দুটি পৃথক কীবোর্ড ম্যাপিংয়ের মধ্যে পছন্দ রয়েছে: একটি viএবং একটি emacs। কিছু শেলগুলিতে (যেমন- ভিত্তিক tcshঅথবা readlineপছন্দযুক্ত bash), emacsএকটি হ'ল ডিফল্ট এবং সম্ভবত আপনি প্রত্যাশা করেন।

এর সাথে zsh, আপনি emacsডিফল্টরূপে মোড পাবেন যদি না থাকে $EDITORবা $VISUALথাকে vi(আপনি যদি একজন vi/ nvi/ vim/ elvisব্যবহারকারী হন (যদিও এছাড়াও vimacsএবং যদি $EDITORহয় ...), ধরে নিন যে আপনি মোডটি পছন্দ করেন )।/home/victor/bin/emacszshvi

মান নির্বিশেষে একটি নির্দিষ্ট মোডকে জোর করতে $EDITOR, যুক্ত করুন:

bindkey -e # for emacs
bindkey -v # for vi

বা তাদের আরও বহনযোগ্য সমতুল্য:

set -o emacs
set -o vi

আপনার ~/.zshrc। দেখ

info -f zsh -n Keymaps

বিস্তারিত জানার জন্য.


মজাদার. bindkeyওভার ব্যবহার করার কোনও কারণ আছে set -o?
— জেনিথ

@ জেনিথ, সম্ভবত না। bindkeyএটি tcsh উপায় এবং মূল উপায়। আজকাল তাদের সমতুল্য হওয়া উচিত।
— স্টাফেন চেজেলাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.