एल Capitan में Tmux से क्लिपबोर्ड पर कॉपी करें


19

एल कैपिटान में टर्मिनल परिवर्तन से मैं काफी खुश हूं (उदाहरण के लिए यह प्रश्न देखें )।

हालाँकि, मैं यह पता नहीं लगा सकता कि Tmux के भीतर से सिस्टम क्लिपबोर्ड पर कॉपी को कैसे सक्षम किया जाए। उदाहरण के लिए, अब जब मैं माउस द्वारा Tmux के भीतर पाठ का चयन करने में सक्षम हूं, तो मैं Tmux के स्वयं के बफर के अलावा, चयनित टेक्स्ट को क्लिपबोर्ड पर कैसे कॉपी कर सकता हूं?

मेरे पास निम्नलिखित हैं tmux.conf:

setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window on

setw -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

मैंने अंतिम पंक्ति को संशोधित करने का प्रयास किया

bind-key -t vi-copy 'y' copy-selection \; copy-pipe "pbcopy"

लेकिन यह वास्तव में काम नहीं किया। सुझावों के लिए आभारी होंगे!

धन्यवाद!


Cmd-C काम नहीं करता है?
nohillside

1
@partix - नहीं, जैसा कि कॉपी किया गया पाठ माउस बटन (या ट्रैकपैड) जारी करने के बाद ऑटो-अचयनित है। बेशक यह टर्मिनल में काम करता है, लेकिन टर्मिनल के भीतर Tmux से नहीं।
सिपहुएल

Tmux 2.1 में अपडेट करें Tmux पैन में माउस स्क्रॉलिंग को तोड़ दिया।
सिपहुएल

जवाबों:


27

वास्तव में, मुझे बस बहुत ही सरल समाधान पता है कि कैसे फिर से Cmd + C का उपयोग करके सक्षम किया जाए।

डिफ़ॉल्ट टर्मिनल एप्लिकेशन में देखें -> "माउस रिपोर्टिंग की अनुमति दें" और इसे अनचेक करें। बस।

पुनश्च: जाहिर है, माउस रिपोर्टिंग के अनचेक करने के बाद tmux में स्प्लिट स्क्रीन को खींचने जैसे नए अच्छे फीचर्स काम करना बंद कर देते हैं।


पुनश्च: मैंने पहले समाधान का इस्तेमाल किया @siphiuel से, जो ठीक भी काम करता है।
ओटीपी

1
धन्यवाद!!! यह सबसे सरल तरीका है! केवल वह इतिहास टूटा हुआ है। मैं केवल हिटस्टोरी का भाग देख सकता हूं
सतो

श्रेष्ठ सुंदर। यह काम करता है
शिखरडुआ

और यह एक दूरस्थ tmux सत्र के लिए भी काम करता है; मैं सोच रहा हूं कि bind-key ... copy-pipeसमाधान केवल तभी काम कर सकता है जब यह एक स्थानीय tmux सेशन हो। तो फिर, अगर आप एक स्थानीय tmux सत्र के भीतर दूरस्थ tmux सत्र करते हैं, तो यह काम कर सकता है? वैसे भी, "माउस रिपोर्टिंग की अनुमति दें" को अनचेक करना मेरे लिए काम कर गया, और यहां तक ​​कि एक शॉर्टकट heck-R (Cmd-R) भी है ताकि आप कॉपी बनाने के लिए इसे जल्दी से टॉगल कर सकें, फिर वापस।
आरोन वालेंटाइन 21

24

यदि आप iTerm2 3.x का उपयोग करते हैं, तो आप सक्षम करके कॉपी / पेस्ट कार्य कर सकते हैं Applications in terminal may access clipboard:

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

बस अपने माउस के साथ पाठ को उजागर करने के लिए इसे ओएस एक्स क्लिपबोर्ड में कॉपी करें!

तुम भी हमेशा की तरह साथ tmux में ओएस एक्स क्लिपबोर्ड से पेस्ट कर सकते हैं Cmd+ V


2
यह मेरे लिए सबसे आसान उपाय था।
lennart

यह कमाल का है!
mljrg

17

यदि आप फ़ंक्शन कुंजी को नीचे रखते हैं, तो आप Apple + c के साथ क्लिपबोर्ड पर चयन और कॉपी कर सकते हैं।


हम सिंगल लाइन उत्तर की तुलना में कुछ अधिक की तलाश कर रहे हैं। और विस्तार देने के लिए अपने उत्तर का विस्तार करने का प्रयास करें।
एलन

2
@Allan यह एक पूर्ण उत्तर है, भले ही यह केवल एक पंक्ति है। यह इत्ना आसान है।
पुखरय

btw, मैंने पाया कि यह केवल लैपटॉप कीबोर्ड पर काम करता है, न कि कीबोर्ड से जुड़ा हुआ :(
amohr

8

वास्तव में, मैं गलत था जब कहा कि copy-pipeकाम नहीं करता है। यह copy-selectionतब होता है, और तब बहुत ही अच्छा होता है, क्योंकि copy-pipeदोनों पाठों को टैम्क्स पेस्टबोर्ड पर कॉपी करते हैं और एक अनियंत्रित शेल कमांड को पाइप करते हैं। तो निम्न पंक्ति काम करती है:

bind-key -t vi-copy 'y' copy-pipe "pbcopy"

हालांकि, yमाउस बटन को जारी करने से पहले प्रेस करने की आवश्यकता है । मैं इस दस्तावेज़ में tmux-yank प्लगइन के लिए ठोकर खाई है :

"जब मोड या माउस-कॉपी-मोड पर tmux मोड-माउस का चयन करते हैं, तो आप 'कॉपी करने के लिए चयन के बाद डिफ़ॉल्ट' रिलीज़ माउस पर भरोसा नहीं कर सकते। इसके बजाय, माउस को रिलीज़ करने से पहले y दबाएं।"

तो यह काम करता है, लेकिन yमाउस-चयनित पाठ को कॉपी करने के लिए कुछ हद तक परेशान होने की जरूरत है ।


3
यदि आप Terminal.app का उपयोग कर रहे हैं: macOS Sierra में यह टर्मिनल.app व्यवहार में प्रतिगमन के कारण काम नहीं करेगा। आपको फिर से "reattach-to-user-namespace" हैक का उपयोग करने की आवश्यकता होगी।
m1keil सेप

1
@ M1keil टिप्पणी पर सहमत हैं। इसके अलावा, किसी कारण से मुझे अतिरिक्त स्विच के साथ brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste
रीटच

4

Tmux संस्करण 2.2 का उपयोग करना या बाद में अपनी tmux.conf फ़ाइल में निम्न जोड़ना:

bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

एल कैपिटन 10.11 के लिए काम करता है, tmux 2.7
होमर

3

@ ऑप्केट का उत्तर प्रभावी होता है

डिफ़ॉल्ट टर्मिनल एप्लिकेशन में देखें -> "माउस रिपोर्टिंग की अनुमति दें" और इसे अनचेक करें।

लेकिन इस तरह, हम माउस द्वारा स्क्रीन को स्क्रॉल नहीं कर पाएंगे।

बिना अक्षम के एक और तरीका यहां है Allow mouse reporting: Fnमाउस द्वारा पाठ को दबाएं और चुनें।


0

Tmux 2.2, OS X El Capitan, Terminal Version 2.6.1 (डिफ़ॉल्ट रूप से जो El Capitan के साथ जहाज है) का उपयोग करते हुए, निम्न सेटअप त्रुटिपूर्ण (अब तक) काम करता है।

$ cat ~/.tmux.conf
set -g mouse on
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

बाईं माउस बटन को कॉपी करने के लिए, टेक्स्ट को चिह्नित करें, और जाने दें। चिह्नित पाठ तब क्लिपबोर्ड में होता है और हमेशा की तरह Cmd+ के साथ चिपकाया जा सकता है v


-2

मुझे केवल एक ही रास्ता मिल रहा है

टर्मिनल जानकारी में खुले टर्मिनल सेटिंग्स / प्रोफाइल xterm-256 से टर्मिनल प्रकार को एनी में बदलकर नई टर्मिनल विंडो खोलें और आनंद लें :)

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