কেন 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.