আমি একটি জেডএসএইচ স্ব-পরিপূর্ণ ফাংশন লেখার জন্য সংগ্রাম করছি। আমার লক্ষ্য স্বয়ংসম্পূর্ণ করতে হয় ta
's এবং tk
এর তালিকাভুক্ত প্রকল্পগুলোতে প্রথম আর্গুমেন্ট tmux list-sessions
এবং tmuxinator list
।
আমার এখন পর্যন্ত যা আছে তা এখানে:
tmux list-sessions
ফলাফলগুলি এমন দেখায় যা ফলাফলগুলি দেখায়:
dotfiles: 1 windows (created Tue Apr 15 21:54:51 2014) [123x48]
goodbye: 1 windows (created Tue Apr 15 21:51:34 2014) [123x48]
hello: 1 windows (created Tue Apr 15 21:42:03 2014) [123x48]
tmuxinator list
আউটপুট:
tmuxinator projects:
dotfiles landonschropp.com
এখানে আমার প্রচেষ্টা:
tmux-list-sessions-autofill() {
# get the tmux and tmuxinator sessions
TMUX_SESSIONS=$( tmux list-sessions | cut -d: -f1 )
TMUXINATOR_SESSIONS=$( tmuxinator list | tail -n +2 | gsed -e 's/\s\+/\n/g' )
# remove duplicates
SESSIONS=$( echo "$TMUX_SESSIONS\n$TMUXINATOR_SESSIONS" | sort | uniq )
# set the autocomplete values
reply=( $(echo $SESSIONS) )
}
compctl -K tmux-list-sessions-autofill ta
compctl -K tmux-list-sessions-autofill tk
tmux list-sessions | cut -d: -f1
প্রকল্পের নাম বাদে সবকিছু সরিয়ে দেয়।tmuxinator list | tail -n +2 | gsed -e 's/\s\+/\n/g'
প্রথম লাইনটি সরিয়ে দেয় এবং হোয়াইটস্পেসকে নতুন লাইনের সাথে প্রতিস্থাপন করে।echo "$TMUX_SESSIONS\n$TMUXINATOR_SESSIONS" | sort | uniq
সদৃশ লাইনগুলি সরিয়ে দেয়।- আমি ব্যবহার করছি
gsed
কারণ আমি ওএস এক্স এ এবংsed
কিছুটা চতুর।
আমার ফাংশনটি কাজ করে তবে এটি সত্যিই ধীর। আমি শেল স্ক্রিপ্টিং আভিজাত্য, তাই আমি নিশ্চিত যে এটি সম্পাদন করার আরও কার্যকর উপায় আছে। আমার বাধা কোথায় এবং আমি কীভাবে এটি ঠিক করতে পারি?
time tmux list-sessions
0.716 সেকেন্ডে 0.05 সেকেন্ড time tmuxinator list
নিয়েছে। time tmuxinator list | tail -n +2
এবং time tmuxinator list | tail -n +2 | gsed -e 's/\s\+/\n/g'
উল্লেখযোগ্য বিলম্ব যোগ করেনি। আমার ধারণা আমি এর জন্য tmuxinator এ একটি সমস্যা খুলব। সাহায্যের জন্য ধন্যবাদ!
;)
tmux list-sessions
এবংtmuxinator list
বিলম্ব কারণ হতে পারে? আমি আগ্রহীtime tmuxinator list
,time tmuxinator list | tail -n +2
এবংtime tmuxinator list | tail -n +2 | gsed -e 's/\s\+/\n/g'
। অ্যানালগ কমান্ডের সাহায্যে আপনি বিলম্বটি যদি একটি কমান্ডের কারণে ঘটে থাকে বা যদি এটির ফলাফল কেবলমাত্র হয় তবে আপনি এটি অনুসরণ করতে পারেন।