याँक पूरी फाइल


126

मैं अक्सर gVim में कुछ लिखता हूं, फिर उसे किसी अन्य एप्लिकेशन में कॉपी-पेस्ट करने की आवश्यकता होती है।

क्या पूरी फ़ाइल को yank करने का एक आसान तरीका है? मैं आमतौर पर ऐसा कुछ करता हूं

ggVG"+y

(ऊपर जाएं, विजुअल-लाइन मोड, नीचे जाएं, यांक)

लेकिन क्या एक बेहतर तरीका है जो मुझे याद आ रहा है?

जवाबों:


202

मैं निम्नलिखित निर्देश का उपयोग करता हूं: :%y+


6
कृपया + क्या करता है?
VoY

5
यह क्लिपबोर्ड से संबंधित एक रजिस्टर है। वही जो ओपी ने अपने सवाल में इस्तेमाल किया था। => :h :y,:h registers
ल्यूक हरमिट

5
@ वीओवाई: आपको यह कार्य "+ क्लिपबोर्ड" प्राप्त करने के लिए क्लिपबोर्ड -प्रॉपर्टी को विम में संकलित करने की आवश्यकता है। इसका अर्थ है "बाहरी-क्लिपबोर्ड-इन-कुछ-विंडो-मैनेजर के लिए सब कुछ यंक"। यह संपत्ति डी-फैक्टो नहीं है, लेकिन यह स्पष्ट रूप से कुछ ग्राफिकल विम्स के साथ आता है जैसे जीवीएम। कृपया, मुझे सही करें यदि मैं गलत हूं (बस इस बात पर ध्यान दिया गया था जब विंडोज जीवीम में यांक का उपयोग करना था, तो मैं पूरी तरह से निश्चित नहीं हो सकता हूं, लेकिन मुझे विश्वास है कि यह संपत्ति है)।
hhh

8
यदि ubuntu 11.04+ में + रजिस्टर आपके लिए काम नहीं कर रहा है, तो gVim (apt-get install vim-gnome) इंस्टॉल करने का प्रयास करें। यह + क्लिपबोर्ड संपत्ति को विम के टर्मिनल संस्करण में भी प्रदान करेगा
एडहार्टिस

3
मैं करता था, gg"+YGलेकिन मुझे यह कभी पसंद नहीं आया क्योंकि मैं जिस मूल लाइन पर था उसे खो दिया। यह पूर्ण है!
20

56

ggyG (पहली पंक्ति पर जाएं, अंतिम पंक्ति के लिए yank)

संपादित करें: आह, सिस्टम क्लिपबोर्ड। उंगलियों से बिल्कुल नहीं लुढ़का, लेकिन:gg"+yG


1
धन्यवाद यह मेरे लिए काम करता है, नहीं:% y +। लेकिन मैं इसे रिमोट से लोकलहोस्ट पर कैसे पेस्ट करूं? :)
जुलाह

1
तो मूल रूप से यह कमांड दस्तावेज़ के शीर्ष पर जाता है, और कुछ करता है, दस्तावेज़ के निचले भाग में जाता है? "यहाँ क्या करता है?
भू-

1
@Geoyws का "कहना है कि आप एक रजिस्टर के साथ काम करना चाहते हैं। "+एक रजिस्टर है जो सिस्टम क्लिपबोर्ड से बंधा है। "+yGइस रजिस्टर में फ़ाइल के नीचे तक सब कुछ yanks। :help "+
अन्निका बैकस्ट्रॉम

15

पुरानी vi में एक कार्य समाधान :r filenameनई फ़ाइल में है।


5
भले ही यह सवाल का जवाब नहीं है, यह मेरा जवाब था । धन्यवाद।

2
मुझे फ़ाइल की शुरुआत में इसे चिपकाने के लिए एक शून्य जोड़ना होगा::0r filename
स्टीफन वैन डेन अककर



6

मैं निम्नलिखित निर्देश का उपयोग करता हूं :%y:।


... विंडो मैनेजर में अलग-अलग विंडो नहीं। + अंत में इसे बाहरी क्लिपबोर्ड पर रखा जाता है (जाहिर है कि ऑप क्या करने की कोशिश करता है)
hhh



3

OSX में:

ggVG
!tee >(pbcopy)

जो मुझे निम्न से अच्छा लगता है:

ggVG
:w !pbcopy

चूंकि यह एक संकेत नहीं फ्लैश करता है: " Press ENTER or type command to continue"


1

:%y+यदि आप नव-विम (एनवीएम) का उपयोग कर रहे हैं तो पूरी प्रणाली के बिना काम नहीं करता है ।

इससे हम अपनी उंगलियों को खींचने से बचते हैं +- इस शॉर्टकट को बेहतर तरीके से बनाने से ggyG


0

आप इसे कितनी बार करते हैं, इस पर निर्भर करता है, बस इसके लिए एक कुंजी को मैप करें और वैकल्पिक रूप से vimrc में जोड़ें

:nnoremap <F5> :%y

या

:nnoremap <leader><whatever> :%y

या जो भी कुंजी आपको पता है वह सुरक्षित है और सबसे तेज़ है - फिर एक मैपिंग स्रोत या जो भी जोड़ें। इस पर लाभ यह ggyGहै कि यह कर्सर (तेज) नहीं ले जा रहा है और अपने कर्सर की स्थिति को बनाए रखने के लिए आपको एक जोड़ना होगा<Ctrl-o><Ctrl-o>

लोग अक्सर भूल जाते हैं कि जब तक vimrc में कमांड सत्र आधारित नहीं होते हैं। मैं अक्सर जानता हूं कि जब मैं बहुत कुछ करने जा रहा हूं, लेकिन इसे डिफ़ॉल्ट और बस की जरूरत नहीं है:[mode]remap <whatever> <whatever>

मैं बंद कर सकता हूं और अगर जरूरत पड़ी तो फिर से खोल सकता हूं।

यदि <Ctrl-A><Ctrl-C>आप के लिए काम करता है तो आप अपने स्रोत में mswin.vim का उपयोग कर रहे हैं और वेतन वृद्धि <Ctrl-a>और वेतन वृद्धि <Ctrl-x>संचालन (अन्य चीजों के बीच) की शक्ति पर खो रहे हैं। मैंने खिड़कियों में शुरुआत की और समय से पहले mswin.vim का उपयोग करना बंद कर दिया। मुझे व्यक्तिगत रूप से यह सबसे अच्छा लगता है कि विम को सही तरीके से ग्रो करें और फिर बैसाखी में जोड़ें जो आपको वास्तव में चाहिए: पी


2
Stackoverflow में आपका स्वागत है। संपादक प्रारूपण का समर्थन करता है , इसलिए कृपया अपने कोड उदाहरणों (जैसे आपके द्वारा उपयोग किए गए आदेश) को बैकटिक्स ( `) या कोड ब्लॉक में लपेटने पर विचार करें ।
Jan Kundrát

-1

यह गंदा है, लेकिन आपको शिफ्ट कुंजी का उपयोग करने की आवश्यकता नहीं है और केवल 3 अलग-अलग कुंजी हैं जो तेज हो सकती हैं:

gg1111yy

(मान लें कि फ़ाइल 1111 लाइनों से छोटी है)


-2

विंडोज पर मैं अक्सर CTRL-A, CTRL-C सभी विंडो क्लिपबोर्ड पर कॉपी करने के लिए करता हूं ... इससे आसान नहीं हो सकता!

मैं वेबसाइट से मानक gvim 7.1 का उपयोग कर रहा हूं ...

(बीटीडब्ल्यू: मैकविम के साथ मेरे मैक पर भी काम करता है और यह मजेदार मैक-की + ए, मैक-की + सी)


1
windows gvim कुछ अतिरिक्त शॉर्टकट्स जोड़ता है जो अन्य संस्करणों में नहीं हैं, कोशिश करने और इसे विंडोज़ उपयोगकर्ताओं के साथ बेहतर बनाने के लिए। ctrl + a, ctrl + c, इसके दो उदाहरण हैं।
davr

9
Mm, ctrl-c का टर्मिनल उपयोगकर्ता के लिए एक अलग अर्थ है।
Xiong Chiamiov

यकीन है, लेकिन जब खिड़कियों में, खिड़कियों के रूप में करते हैं :) बस कह रही है, gvim और MacVim प्लेटफार्मों मानक क्लिपबोर्ड शॉर्टकट का सम्मान करते हैं - या तो उनका उपयोग करने में कुछ भी गलत नहीं है ....
डैरन थॉमस

4
यदि आप इन जैसे शॉर्टकट का उपयोग करना चाहते हैं, तो आप बिल्कुल भी विम का उपयोग न करें।
VoY

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