मैं मध्य बटन या शिफ्ट-इंसर्ट के साथ टेक्स्ट को कॉपी, पेस्ट कर सकता हूं।
मैं टेक्स्ट को विम में कैसे कॉपी कर सकता हूं और सिस्टम क्लिपबोर्ड से पेस्ट कर सकता हूं?
:!sed -n 5,10p %
:!cat %
मैं मध्य बटन या शिफ्ट-इंसर्ट के साथ टेक्स्ट को कॉपी, पेस्ट कर सकता हूं।
मैं टेक्स्ट को विम में कैसे कॉपी कर सकता हूं और सिस्टम क्लिपबोर्ड से पेस्ट कर सकता हूं?
:!sed -n 5,10p %
:!cat %
जवाबों:
आप के साथ विम की आवश्यकता है clipboard
और xtermclipboard
में। में उबंटू संकलित सुविधाओं, इन vim जीयूआई पैकेज (साथ ही उपलब्ध हैं vim-gnome
, vim-gtk
, vim-athena
, आदि)।
एक बार जब आप इनमें से एक को स्थापित करते हैं, तो आप क्लिपबोर्ड रजिस्टरों ( *
और +
) से कॉपी (और पेस्ट) कर सकते हैं । Vi और विम पर इस बहुत जानकारीपूर्ण पोस्ट से :
के लिए X11 आधारित सिस्टम (यानी। लिनक्स और अधिकांश अन्य यूनिक्स की तरह सिस्टम) 2 clipboards, जो एक दूसरे से स्वतंत्र हैं:
- प्राथमिक - यह कॉपी-ऑन-चयन है, और मध्य माउस बटन के साथ चिपकाया जा सकता है।
- क्लिपबोर्ड - यह (आमतौर पर) के साथ कॉपी किया जाता है
^C
, और इसके साथ चिपकाया जाता है^V
(यह एमएस विंडोज की तरह है)।
विम के पास इन क्लिपबोर्डों के अनुरूप 2 विशेष रजिस्टर हैं:
*
PRIMARY का उपयोग करता है; mnemonic: s tar is s Elect (कॉपी-ऑन- s चुनाव के लिए)+
क्लिपबोर्ड का उपयोग करता है; mnemonic: CTRL + C (सामान्य कीबाइंड के लिए)
एक रजिस्टर की प्रतिलिपि बनाने के लिए, आप कॉपी कमांड ( y
) के साथ "
और रजिस्टर के नाम ( *
उदाहरण के लिए) से पहले आते हैं। "*y
, तो चिपकाने के लिए बीच-क्लिक करें, या "+y
और ShiftInsertपेस्ट करने के लिए।
इस सवाल से एक काफी दिलचस्प समाधान निकलता है । Xclip को स्थापित करें, फिर कमांड के पाइप आउटपुट को xclip ( cat file | xclip -selection clipboard
उदाहरण के लिए), और फिर इसे कहीं भी पेस्ट करें, (यदि यह टर्मिनल में है - उपयोग करें Ctrl ShiftV
)। अब, पता चलता है कि आप वास्तव में उस कमांड को छोटा कर सकते हैं xclip -sel clip
, जो मैन पेज या उदाहरणों को पढ़ने से बिल्कुल स्पष्ट नहीं है।
/dev
, लेकिन पाठ अभी भी कहीं आयोजित है, है ना?
मेरे पास समस्या थी क्योंकि मेरा विम क्लिपबोर्ड का समर्थन नहीं कर रहा था :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
मैंने vim-gnome (जो क्लिपबोर्ड का समर्थन करता है) स्थापित किया और फिर दोबारा जाँच की:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
अब मैं क्रमशः "+ y और" + p का उपयोग करके कॉपी और पेस्ट करने में सक्षम हूं।
sed -n5,10p
5-10 पंक्तियों को प्रिंट करने के लिए उपयोग करता हूं ताकि मैं माउस पर प्रतिक्रिया किए बिना अधिक आसानी से कॉपी और पेस्ट कर सकूं।