উত্তর:
আপনি টিপতে পারেন Ctrl- Alt- eপাঠ্যরেখার ক্রিয়া সম্পাদন করতে shell-expand-line
যা উপনাম, ইতিহাস এবং শব্দের সম্প্রসারণ করবে। মনে রাখবেন যে কয়েকটি কীবোর্ডে Metaএটি নেই Alt। আপনার Escতখন চাপতে হতে পারে Ctrl-e
ফাংশনগুলি alias-expand-line
এবং history-and-alias-expand-line
ডিফল্টরূপে আবদ্ধ হয় না তবে আপনি আপনার ~/.inputrc
ফাইলের সাথে নিম্নলিখিতগুলির অনুরূপ লাইন যুক্ত করে সেগুলি আবদ্ধ করতে পারেন ।
"\e\C-l": alias-expand-line
যা তৈরি করে Ctrl- Alt- l(লোয়ার কেস "এল") কেবলমাত্র ওরফে এক্সপেনশন সম্পাদন করে ।
"\C-i": "\e\C-l\e\e"
যা ম্যাক্রো উভয় সঞ্চালিত সৃষ্টি alias-expand-line
এবং complete
। এটি উপরের আমার উত্তর থেকে বাঁধার উপর নির্ভর করে এবং Esc-Esc এর জন্য ডিফল্ট বাঁধাই স্থানে রয়েছে। আপনি যদি ডিফল্ট সমাপ্তি করতে চান তবে আপনি Esc-Esc করতে সক্ষম হবেন।
ESC C-e
বাশের পক্ষে C-x a
কাজ করে তবে Zsh এর পক্ষে কাজ করে। ওএস এক্স
Control-x: history-and-alias-expand-line
।
আপনি যা চেষ্টা করছেন তা করার এটি আসলে একটি সহজ উপায় হতে পারে ( bash
সংস্করণ> = 4.2.29):
shopt -s direxpand
shopt -s expand_aliases
shopt
এর man
পৃষ্ঠা: https://www.gnu.org/software/bash/manual/html_node/The-Shopt- বুলেটিন এইচটিএমএল
alias ll='ls -l
শেলটি 'll' কে কমান্ড / ফাংশন 'll' হিসাবে ব্যাখ্যা করবে যা সম্ভবত উপস্থিত নেই।
এটা কাজ করে না. তবে আমি অনুমান করছি / আশা করছি আপনি যা করতে চান তা করতে এই জাতীয় কিছু করা যেতে পারে। আপনাকে নিজের সমাপ্তির স্ক্রিপ্ট ব্যবহার করতে হবে। এইভাবে আপনি এটি তৈরি করুন:
_ll()
{
COMPREPLY=(ls -l)
#The next line does not work. I just hope there were a way to replace that word
COMP_WORDS[COMP_CWORD-1]="ls -l"
}
complete -F _ll ll
এখন সম্পূর্ণ bash_completion ফাইল উত্স করুন ( http://caliban.org/bash ) এবং উপরের উল্লিখিত স্ক্রিপ্টটি bash_completion.d ডিরেক্টরিতে একটি ফাইলের মধ্যে রাখুন যে স্ক্রিপ্টটি আপনি url উল্লেখ থেকে পেয়েছেন। যদি এটি কাজ না করে তবে আমাকে জানান।
ধন্যবাদ।
সাধারণ সমাধান সমাধানের সন্ধানে zsh ইনস্টল করা লোকেদের জন্য গ্লোবালিয়ারা আপনার বন্ধু হতে পারে
সমস্ত গ্লোব এক্সপ্রেশন, সাব কম্যান্ড এবং উপাধি (গ্লোবাল সহ) প্রসারিত করে।
# .zsrc:
alias S="sudo systemctl"
$ S<space>
# expands to:
$ sudo systemctl
আপনার .zshrc প্লাগইন তালিকায় কেবল "গ্লোবালিয়াস" যুক্ত ইনস্টল করতে
plugins=(... globalias)
তারপরে
SPACE
আপনি যে কমান্ডটি লিখেছেন তার সম্প্রসারণের জন্য কেবল টিপুন ।আপনি যদি কেবল কমান্ড লাইনটি না বাড়িয়ে কোনও স্থান সন্নিবেশ করতে চান তবে টিপুন
CTRL+SPACE