बैश का क्लिपबोर्ड बैश करने के लिए आंतरिक है, बैश एक्स सर्वर से कनेक्ट नहीं होता है।
आप जो कुछ भी कर सकते हैं, वह M-w
bash के आंतरिक क्लिपबोर्ड के अलावा चयन को X क्लिपबोर्ड पर कॉपी करने का अर्थ बदल सकता है । हालांकि बैश का एकीकरण बहुत ढीला है, और मुझे नहीं लगता कि बैश कोड से क्षेत्र की जानकारी या क्लिपबोर्ड तक पहुंचने का कोई तरीका है। आप संपूर्ण क्लिप को X क्लिपबोर्ड पर कॉपी करने के लिए एक महत्वपूर्ण बाइंडिंग बना सकते हैं। binding
if [[ -n $DISPLAY ]]; then
copy_line_to_x_clipboard () {
printf %s "$READLINE_LINE" | xsel -ib
}
bind -x '"\eW": copy_line_to_x_clipboard'
fi
यदि आप शेल में फैंसी चीजें करना चाहते हैं, तो zsh पर स्विच करें, जो (अन्य लाभों के बीच) लाइन संपादक और स्क्रिप्टिंग भाषा के बीच बेहतर एकीकरण है।
if [[ -n $DISPLAY ]]; then
x-copy-region-as-kill () {
zle copy-region-as-kill
print -rn -- "$CUTBUFFER" | xsel -ib
}
x-kill-region () {
zle kill-region
print -rn -- "$CUTBUFFER" | xsel -ib
}
zle -N x-copy-region-as-kill
zle -N x-kill-region
bindkey '\C-w' x-kill-region
bindkey '\ew' x-copy-region-as-kill
fi
¹
Gnome विशेष रूप से एक क्लिपबोर्ड नहीं है, यह एक्स के लिए सामान्य है
²
कुंजी के साथ बंधे हुए दृश्यों: बैश 4.1 के रूप में, कुंजी पार्स कोड में एक बग है bind -x
लंबे समय तक की तुलना में अधिक दो अक्षर नहीं हो सकता। मुझे लगता है कि बैश 4.2 लंबे उपसर्गों के कुछ मामलों को ठीक करता है, लेकिन उन सभी को नहीं; मैंने विवरणों पर शोध नहीं किया है।