जवाबों:
आपको tmux शॉर्टकट का उपयोग करना होगा। अपने tmux कमांड शॉर्टकट को मान लेना डिफ़ॉल्ट है: Ctrl+ b, फिर:
Ctrl+ b, [कॉपी (?) मोड दर्ज करें।
हाइलाइट करने के लिए पाठ के प्रारंभ / अंत पर जाएं।
Ctrlspace
टेक्स्ट हाइलाइट करना शुरू करें (आर्क लिनक्स पर)। जब मैंने OSX और अन्य लिनक्स पर स्रोत से tmux संकलित किया है, तो बस Spaceअपने आप ही काम करता है। चयनित पाठ रंग बदलता है, तो आपको पता चल जाएगा कि क्या कमांड ने काम किया है।
कॉपी करने के लिए टेक्स्ट के विपरीत छोर पर जाएं।
Alt+ wप्रतियां tmux क्लिपबोर्ड में पाठ का चयन किया। (मैक उपयोग Esc+ पर w)
कर्सर को tmux फलक के विपरीत, या पूरी तरह से अलग tmux विंडो में ले जाएँ। वह कर्सर रखें जहाँ आप उस पाठ को पेस्ट करना चाहते हैं जिसे आपने कॉपी किया है।
Ctrl+ b, ]Tmux क्लिपबोर्ड से कॉपी पेस्ट टेक्स्ट।
कस्टम कीबोर्ड शॉर्टकट के लिए कमांडिंग मैपिंग में tmux काफी अच्छा है।
देखें Ctrl+ b, ?सेट कीबोर्ड शॉर्टकट की पूर्ण सूची के लिए।
screen
शॉर्टकट का उपयोग करते हैं : Ctrl + A [
(कॉपी-मोड दर्ज करें), Space
(हाइलाइटिंग शुरू करें), Enter
(एंड हाइलाइटिंग), Ctrl + A ]
(पेस्ट)।
Enter
कुंजी से बदला जाना चाहिए ।
दुर्भाग्य से, मैं एलेक्स लीच के जवाब में अभी तक एक टिप्पणी नहीं जोड़ सकता हूं इसलिए मैं मैक ओएस एक्स उपयोगकर्ताओं के लिए यहां एक परिशिष्ट शामिल करने जा रहा हूं:
byobu
/ का उपयोग करते हुए tmux
, यह काम किया, Alt + w ने नहीं किया।
यदि आप macOS पर vim और tmux का उपयोग कर रहे हैं (macOS 10.12.2 पर परीक्षण किया गया, tmux 2.3):
(मान लें कि tmux का उपसर्ग कुंजी संयोजन है prefix। उपसर्ग ctrl+ bचूक में + है।)
मैं ZOC टर्मिनल ssh क्लाइंट का उपयोग करके विंडोज मशीन पर अपने CentOS सर्वर से जुड़ रहा हूं । यहाँ मेरे लिए क्या काम करता है:
<prefix>
+[
<Space>
<Enter>
<prefix>
+]
आप सामान्य y और p के बजाय "* y और" * p के साथ सिस्टम क्लिप बोर्ड का उपयोग कर सकते हैं।
"+2yy
- X11 क्लिपबोर्ड पर दो पंक्तियों की प्रतिलिपि बनाएँ "+dd
- कट लाइन से X11 क्लिपबोर्ड तक "+p
- पेस्ट X11 क्लिपबोर्ड
h,j,k,l
करने में सक्षम होना चाहिए। चाल। मैंने कभी-कभी अपने ubuntu VM पर भी देखा है, "+" रजिस्टर गायब हो जाता है, अज्ञात कारण के लिए। यह सत्यापित करने के लिए कि आपके पास +
रजिस्टर है, आप टाइप कर सकते हैं :reg
और जांच सकते हैं कि "+
पहले कॉलम में स्ट्रिंग है या नहीं ।
y
और, p
को "+y
और "+p
?
यदि आपके पास vim
खुला है, तो पाठ कॉपी करने के लिए विम कॉपी पेस्ट का उपयोग करना बेहतर है।
Tmux copy पेस्ट काम करेगा, हालाँकि इसके कई नुकसान हैं।
सबसे पहले, टेक्स्ट की कई लाइनों को कॉपी करते समय, आपको कई लाइनों का चयन करना होगा। Tmux कॉपी पेस्ट आमतौर पर समझ में नहीं आता है कि vim
लाइन नंबर हैं या vim गटर (जैसे रिश्तेदार नंबर / निरपेक्ष) के रूप में चिह्नों हैं। नतीजतन, यह उन लोगों की भी नकल करेगा।
दूसरी बात, मैंने पाया है कि यदि पाठ में कुछ विशेष भाषा है, और आप सीधे vm को tmux का उपयोग करके कॉपी कॉपी करने का प्रयास करते हैं, तो यह प्रारूपण को गड़बड़ कर देगा। इसके इस्तेमाल से बचा जा सकता है set paste!
। हालांकि, इसके लिए बहुत अधिक काम करने की आवश्यकता है।
"+y
कॉपी करने और "+p
चिपकाने के लिए उपयोग करेंVim
मूल रूप से "+y
या तो का उपयोग कर vim बफर और सिस्टम क्लिपबोर्ड के बीच पेस्ट कॉपी करने के लिए एक विधि प्रदान करता है "*y
। तब का उपयोग "+p
कर चिपकाने या "*p
। यह गटर या अन्य यादृच्छिक चिह्नों के सापेक्ष संख्याओं की नकल करेगा जो विम के लिए प्रासंगिक नहीं हैं
Vm उपयोग के लिए विकल्पों में से कुछ tmux शॉर्टकट अनुक्रम थोड़ा लंबा है और मुझे इसे याद रखना मुश्किल है
जवाब की तरह ऊपर कहा था कि आप उपयोग कर सकते हैं "+y
और "*y
कॉपी और उसके बाद के लिए "+p
और "*p
क्रमशः पेस्ट करने के लिए। यदि आप डिफ़ॉल्ट रूप से क्लिपबोर्ड का उपयोग करना चाहते हैं, तो आप y/p
सीधे सीधे उपयोग कर सकते हैं ।
set clipboard=unamed "sets the default copy register to be *
set clipboard=unamedplus "sets the default copy register to be +
क्लिपबोर्ड कमांड के लिए स्रोत: https://vi.stackexchange.com/questions/84/how-can-i-copy-text-to-the-system-clipboard-from-vim
:w /tmp/lines
, फिर:r /tmp/lines
दूसरे उदाहरण में)। या, यदि आपका विम आपके सिस्टम क्लिपबोर्ड से बात करना जानता है, तो आप अस्थायी फ़ाइल से बचने के लिए+
या*
रजिस्टरों का उपयोग कर सकते हैं ।