Tmux वाले माउस से कॉपी और पेस्ट कैसे करें


44

मैं उपयोग कर रहा हूं tmuxऔर OSX जब tmuxमैं टर्मिनल से कॉपी और पेस्ट कर रहा होता हूं, तो मैं नीचे पकड़ कर Optionपाठ का चयन कर सकता हूं । हालाँकि मुझे फलक के अंदर रहने के लिए पाठ नहीं मिल सकता है। इसलिए जब मैं पाठ की प्रतिलिपि बनाना चाहता हूं, तो मुझे या तो बाईं ओर फलक को चक्रित करना होगा, या फलक को ज़ूम करना होगा, जैसा कि नीचे दिखाया गया है।

यह Optionकुंजी को दबाए रखने के अलावा एक दर्द है। मुझे पता है कि मैं दृश्य मोड में प्रवेश कर सकता हूं और वहां पहुंचने के लिए विम आंदोलनों का उपयोग कर सकता हूं, लेकिन मेरे पास अपने माउस का उपयोग करने का एक तरीका होगा। क्या किसी ने इसके लिए वर्कअराउंड पाया है?

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें


"हालांकि मुझे फलक के अंदर रहने के लिए पाठ नहीं मिल सकता है।" इससे तुम्हारा क्या मतलब?
ब्लास्ज़र्ड

जवाबों:


36

कोड के इस ब्लॉक को अपने में रखें ~/.tmux.conf। यह माउस एकीकरण को सक्षम करेगा जो आपको ज़ूम किए बिना अपने माउस से फलक से कॉपी करने देगा।

set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -t vi-copy    C-WheelUpPane   halfpage-up
bind -t vi-copy    C-WheelDownPane halfpage-down
bind -t emacs-copy C-WheelUpPane   halfpage-up
bind -t emacs-copy C-WheelDownPane halfpage-down

# To copy, drag to highlight text in yellow, press Enter and then release mouse
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "pbcopy"

उसके बाद, अपने tmux सेशन को पुनः आरंभ करें। माउस के साथ कुछ टेक्स्ट हाइलाइट करें, लेकिन माउस को जाने न दें। अब जबकि टेक्स्ट स्टिल हाइलाइटेड है और माउस दबाया गया है, तो रिटर्न कुंजी दबाएँ। हाइलाइट किया गया टेक्स्ट गायब हो जाएगा और आपके क्लिपबोर्ड पर कॉपी हो जाएगा। अब माउस को छोड़ दें।

इसके अलावा, कुछ शांत चीजें भी हैं जो आप माउस के साथ कर सकते हैं जैसे स्क्रॉल ऊपर और नीचे, सक्रिय फलक का चयन करें, आदि।

यदि आप macOS पर tmux के नए संस्करण का उपयोग कर रहे हैं , तो ऊपर दिए गए के बजाय निम्नलिखित को आज़माएँ:

# macOS only
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi    C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-vi    C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down

# To copy, left click and drag to highlight text in yellow, 
# once you release left click yellow text will disappear and will automatically be available in clibboard
# # Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"

यदि macOS पर iTerm का उपयोग कर रहे हैं, तो goto iTerm2> प्राथमिकताएं> "सामान्य" टैब, और "चयन" अनुभाग में, "टर्मिनल में एप्लिकेशन क्लिपबोर्ड तक पहुंच सकते हैं" जांचें।

और यदि आप लिनक्स और tmux के नए संस्करण का उपयोग कर रहे हैं , तो

# Linux only
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi    C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-vi    C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down

# To copy, left click and drag to highlight text in yellow, 
# once you release left click yellow text will disappear and will automatically be available in clibboard
# # Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection c"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"

(आप कई अन्य tmux विकल्पों के लिए https://github.com/gpakosz/.tmux भी देख सकते हैं।)


1
अंत में कुछ ऐसा है जो वास्तव में काम करता है! नकल करने और चिपकाने के लिए सबसे अधिक कष्टप्रद बात है tmux की कोशिश करना, मैंने पहले ही इसे छोड़ दिया है और मैं जिस स्निपेट को आज़मा रहा था वह असंगत व्यवहार कर रहा था, बहुत बहुत धन्यवाद।
ब्रेनो सालगाड़ो

1
मैं मैक में iterm का उपयोग कर रहा था और iTerm2> प्राथमिकताएँ> "सामान्य" टैब को सक्षम करना था, और "चयन" अनुभाग में, "टर्मिनल में एप्लिकेशन क्लिपबोर्ड तक पहुंच सकता है"। संदर्भ: rushiagr.com/blog/2016/06/16/…
रुजुता शाह

@RujootaShah हाँ, यह सही है। आपको ऐसा करने की जरूरत है। साझा करने के लिए धन्यवाद।
GMaster

1
धन्यवाद! एक जादू की तरह काम करता है। sudo apt-get install -y xclipहालांकि मुझे (उबंटू लिनक्स) स्थापित करने की आवश्यकता थी ।
पेट्र

पूरी तरह से काम करता है, धन्यवाद @GMaster
श्रेष्ठ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.