উত্তর:
যেহেতু আপনার প্রশ্ন বাশ সম্পর্কে সুনির্দিষ্ট:
প্রতিটি নতুন সেশনের জন্য এটি স্থায়ীভাবে সেট করতে:
echo 'set -o vi' >> ~/.bashrc
বা (প্রস্তাবিত),। / ইনপুটসিআরকে একটি লাইন যুক্ত (বা পরিবর্তন) করুন:
set editing-mode vi
এটি রিডলাইনের সম্পাদনা মোড সেট করবে যা বাশের পাশে আরও বেশ কয়েকটি প্রোগ্রাম ব্যবহার করে।
উভয় বিকল্প আনসেট করা সহজ:
shopt -ou vi emacs
একটি সেট করতে, হয়:
set -o vi
অথবা
shopt -os vi
একই জন্য emacs
। vi
আনসেট emacs
এবং বিপরীত সেট করা হচ্ছে ।
রাষ্ট্রের তালিকা করতে:
$ shopt -op emacs
set +o emacs
$ shopt -op vi
set -o vi
বা উভয়ই একবারে:
$ shopt -op emacs vi
set +o emacs
set -o vi
vi
সেট করা আছে কিনা তা পরীক্ষা করতে :
shopt -oq vi && echo vi is set
অথবা (কেএস সিনট্যাক্স):
[[ -o vi ]] && echo vi is set
Emacs:
shopt -oq emacs && echo emacs is set
বা:
[[ -o emacs ]] && echo emacs is set
বা, পরীক্ষা করার জন্য যে কোনও বিকল্প সেট করা নেই:
! ( shopt -oq emacs || shopt -oq vi ) && echo no option is set
প্রতি set
:
set -o vi
বা:
set -o emacs
(একটিতে অন্যটিকে set -o vi +o vi
আনসেট সেট করা হচ্ছে both আপনি উভয়ই আনসেট করতে পারেন )
যাচাই করতে:
if [[ -o emacs ]]; then
echo emacs mode
elif [[ -o vi ]]; then
echo vi mode
else
echo neither
fi
সেই বাক্য গঠনটি এসেছে ksh
। set -o vi
POSIX হয়। set -o emacs
রিচার্ড স্টলম্যান পসিক্স emacs
দ্বারা নির্দিষ্ট করা মোডটির বিষয়ে আপত্তি হিসাবে নয় ) তবে শেল বাস্তবায়নগুলির মধ্যে খুব সাধারণ। কিছু শেল অতিরিক্ত সম্পাদনা মোডগুলিকে সমর্থন করে। [[ -o option ]]
POSIX নয়, তবে ksh, বাশ এবং zsh দ্বারা সমর্থিত। [ -o option ]
দ্বারা সমর্থিত bash
, ksh
এবং yash
( -o
এটিও একটি বাইনারি OR অপারেটর হিসাবে নোট করুন [
)।
set -o | egrep -w '^emacs|vi'
ইম্যাকস বা ভিআই সেট করা আছে কিনা তা ফিরিয়ে দেবে।