কীভাবে বাশের কমান্ড-লাইন সম্পাদনা মোড সেট এবং নির্ধারণ করবেন?


10

viবা emacsকমান্ড লাইন সম্পাদনা মোডকে কীভাবে সেট করবেন এবং বর্তমানে কোন মোডটি সেট করা আছে তা কীভাবে নির্ধারণ করবেন?

উত্তর:


6

যেহেতু আপনার প্রশ্ন বাশ সম্পর্কে সুনির্দিষ্ট:

প্রতিটি নতুন সেশনের জন্য এটি স্থায়ীভাবে সেট করতে:

echo 'set -o vi' >> ~/.bashrc

বা (প্রস্তাবিত),। / ইনপুটসিআরকে একটি লাইন যুক্ত (বা পরিবর্তন) করুন:

set editing-mode vi

এটি রিডলাইনের সম্পাদনা মোড সেট করবে যা বাশের পাশে আরও বেশ কয়েকটি প্রোগ্রাম ব্যবহার করে।

উভয় বিকল্প আনসেট করা সহজ:

shopt -ou vi emacs

একটি সেট করতে, হয়:

set -o vi

অথবা

shopt -os vi

একই জন্য emacsviআনসেট 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

16

প্রতি 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

সেই বাক্য গঠনটি এসেছে kshset -o viPOSIX হয়। set -o emacsরিচার্ড স্টলম্যান পসিক্স emacsদ্বারা নির্দিষ্ট করা মোডটির বিষয়ে আপত্তি হিসাবে নয় ) তবে শেল বাস্তবায়নগুলির মধ্যে খুব সাধারণ। কিছু শেল অতিরিক্ত সম্পাদনা মোডগুলিকে সমর্থন করে। [[ -o option ]]POSIX নয়, তবে ksh, বাশ এবং zsh দ্বারা সমর্থিত। [ -o option ]দ্বারা সমর্থিত bash, kshএবং yash( -oএটিও একটি বাইনারি OR অপারেটর হিসাবে নোট করুন [)।


এটি কাজ করে এবং এটি অবাক করে দেয় যে মোডটি নির্ধারণ করা এতটাই কঠিন।
ব্ল্যাকএনএক্স

4
set -o | egrep -w '^emacs|vi'ইম্যাকস বা ভিআই সেট করা আছে কিনা তা ফিরিয়ে দেবে।
স্টিফেন হ্যারিস

4

এছাড়াও আছে bind -V | grep editing-mode

man bash গভীর কিন্তু গভীরভাবে পড়া মূল্যবান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.