2008-09-12 8 views
21

ईक्लीप्स जैसे आईडीई में कई स्क्रीनों पर फैली बड़ी मात्रा में टेक्स्ट चुनना काफी आसान है क्योंकि आप माउस का उपयोग कर सकते हैं, लेकिन उदाहरण के लिए सबसे अच्छा तरीका क्या है टेक्स्ट के मल्टीस्क्रीन ब्लॉक का चयन करें और हटाएं उदा। दूसरी फाइल के लिए तीन बड़ी विधियां और फिर उन्हें Vim में परीक्षण उद्देश्यों के लिए हटा दें जब इसे पुटी/एसएसएच के माध्यम से उपयोग किया जाए जहां आप माउस का उपयोग नहीं कर सकते?विम में, मल्टी-स्क्रीन टेक्स्ट के बड़े हिस्सों को चुनने, हटाने, या टिप्पणी करने का सबसे अच्छा तरीका क्या है?

मैं आसानी से यांक-टू-द-एंड-ऑफ़-लाइन-यांक-टू-द-एंड-कोड-ब्लॉक कर सकता हूं लेकिन यदि टेक्स्ट कई स्क्रीन पर फैला हुआ है, या इसमें बहुत सारी रिक्त रेखाएं हैं, मुझे लगता है कि मेरे हाथ विम में बंधे हैं। कोई समाधान?

और एक संबंधित प्रश्न: क्या किसी भी तरह से 40 लाइनों का चयन करने का कोई तरीका है, और फिर उन सभी को टिप्पणी करें ("#" या "//" के साथ), जैसा कि अधिकांश आईडीई में आम है?

+0

एक अतिरिक्त @ zigdon के लिए उत्तर: आप पाठ पर टिप्पणी करने के लिए NERDCommenter प्लगइन का उपयोग कर सकते हैं, इसलिए यदि आपने दृष्टि से चयनित टेक्स्ट और इस प्लगइन को स्थापित किया है तो टेक्स्ट पर टिप्पणी करने के लिए ', cc' का उपयोग करें। 'M NERDCom कार्यक्षमतासमूह 'में और अधिक मैपिंग्स। – ZyX

उत्तर

23

ठीक है, सबसे पहले, आप माउस के साथ काम करने के लिए vim सेट कर सकते हैं, जो आपको Eclipse में जैसा टेक्स्ट चुनने की अनुमति देगा।

आप डिफ़ॉल्ट रूप से विजुअल चयन - v का भी उपयोग कर सकते हैं। चयन के बाद, आप yank, cut, आदि

जहाँ तक ब्लॉक बाहर टिप्पणी के रूप में, मैं आमतौर पर यह VISUAL साथ चयन कर सकते हैं, तो ऐसा

:'<,'>s/^/#/

एक # के साथ प्रत्येक पंक्ति के आरंभ की जगह। ('< और '> मार्कर शुरुआत और दृश्य चयन की हैं।

+1

आप टिप्पणी लाइनों को कैसे उलटा करते हैं? –

+2

ठीक है, आप 'पूर्ववत' कर सकते हैं;) लेकिन यदि नहीं, तो आप चयनित लाइनों पर ': s/^ # //' जैसे कुछ कर सकते हैं। – zigdon

+4

आप सीमा भी निर्दिष्ट कर सकते हैं: '213,244s/^/#/'टिप्पणी करने के लिए, फिर ऑपरेशन को असम्बद्धता में उलट दें:' 213,244s/^ # // 'done! – brice

8

दृश्य ब्लॉक आदेश वी (- वी आयताकार ब्लॉकों के लिए या वी पूरे लाइनों के लिए और सी) का प्रयोग करें। दृश्य ब्लॉक मोड में रहते हुए, आप खोज सहित किसी भी गति आदेश का उपयोग कर सकते हैं; मैं अगली खाली रेखा पर जाने के लिए अक्सर} उपयोग करता हूं। एक बार ब्लॉक चिह्नित होने के बाद, आप यह कर सकते हैं: इसे एक फ़ाइल, हटाएं, यांक, या जो भी हो। यदि आप एक कमांड निष्पादित करते हैं और दृश्य ब्लॉक चला जाता है, तो उसी ब्लॉक को जीवी के साथ फिर से चुनें। देखें: अधिक के लिए दृश्य परिवर्तन में मदद करें।

मुझे लगता है कि ऐसी भाषा-विशिष्ट स्क्रिप्ट्स हैं जो विम के साथ आती हैं जो कोड की ब्लॉक को टिप्पणी करने जैसी चीजों को पसंद करती है जो आपकी पसंद की भाषा फिट बैठती है।

2

उपयोग शिफ्ट + वी दृश्य मोड में जाने के लिए है, तो आप लाइनों का चयन और नष्ट कर सकते हैं/उन्हें बदलने।

0

v दृश्य ब्लॉक मोड में प्रवेश करता है, जहां आप चुन सकते हैं कि अधिकांश सामान्य संपादकों में बदलाव के साथ, बाद में आप सामान्य रूप से कुछ भी कर सकते हैं आदेश (प्रतिस्थापन: '<,'> s/^/#/एक टिप्पणी के साथ पहले जोड़ें करने के लिए, उदाहरण के लिए) जहां '<,'> सभी पाठ की बजाय चयनित दृश्य ब्लॉक का मतलब

4

प्रेस V (अपरकेस वी।) और फिर 40 लाइनों का चयन करने के लिए 40j दबाएं और फिर उन्हें हटाने के लिए d दबाएं या जैसे @zigdon ने उत्तर दिया, आप उन्हें टिप्पणी कर सकते हैं।

+0

यह कुल में 41 लाइनों को हटा देता है (प्रारंभिक रेखा, और इसके नीचे 40)। –

4

दृश्य मोड आपकी मुख्य समस्या का समाधान है। कोड के अनुभागों पर टिप्पणी करने के लिए, vim.org पर इसके लिए कई प्लगइन्स हैं, मैं इस समय tComment.vim का उपयोग कर रहा हूं।

प्लगइन के बिना ब्लॉक को टिप्पणी करने का एक साफ तरीका भी है।आइए कहें कि आप अजगर में काम करते हैं और # टिप्पणी चरित्र है। उस कॉलम का दृश्य ब्लॉक चयन करें जिसे आप हैश साइन इन करना चाहते हैं, और I # ESCAPE टाइप करें। एक दृश्य ब्लॉक मोड दर्ज करने के लिए लिनक्स पर विंडोज या सी-वी पर सी-क्यू दबाएं।

19

मार्कर का उपयोग करें।

आप हटाना और

ma 
कि लाइन पर कहीं भी

दर्ज करना चाहते हैं पाठ खंड के शीर्ष पर जाएँ। कोलन के लिए कोई ज़रूरत नहीं है।

तो ब्लॉक के अंत में जाना और यह डालें:

:'a,.d 

में प्रवेश कर ma कर्सर के तहत चरित्र के लिए मार्कर a स्थापना की है।

आदेश आपको टेक्स्ट ब्लॉक की तह तक जाने के बाद दर्ज किया है कहते हैं, "वर्तमान पंक्ति () d हटाएं को चरित्र मार्कर a ('एक) द्वारा वर्णित युक्त लाइन से। "

इस तरह की चीज अन्य चीजों के लिए भी उपयोग की जा सकती है।

:'a,.ya b  - yank from 'a to current line and put in buffer 'b' 
:'a,.ya B  - yank from 'a to current line and append to buffer 'b' 
:'a,.s/^/#/ - from 'a to current line, substitute '#' for line begin 
(i.e. comment out in Perl) 
:'s,.s#^#//# - from 'a to current line, substitute '//' for line begin 
(i.e. comment out in C++) 

एनबी।'a (एस्ट्रोफ़े-ए) a द्वारा चिह्नित चरित्र वाले रेखा को संदर्भित करता है। `(backtick-a) refers to the character marked by ए`।

3

या आप इस स्क्रिप्ट एक कोशिश देने के लिए चाहते हो सकता है ...

http://www.vim.org/scripts/script.php?script_id=23

+0

NERDCommenter बेहतर है: इसमें 30.03.2009 (21.02.2008 को बढ़ाया गया है और यह अभी भी vim6 के लिए जारी किया गया है) में अंतिम संस्करण जारी है, और यह Gentoo रिपोजिटरी में उपलब्ध है (लेकिन बढ़ाया गया है भी उपलब्ध है)। – ZyX

16

सम्मिलित करने के लिए टिप्पणी का उपयोग कर लाइनों की शुरुआत पात्रों का चयन CTRL - वी (blockwise विजुअल, नहीं 'वी' चरित्र वार-विज़ुअल या 'वी' लाइनवाइ-विज़ुअल)। फिर 'I' का उपयोग करके डालने-मोड पर जाएं, पहली पंक्ति पर अपनी टिप्पणी-वर्ण दर्ज करें (उदाहरण के लिए '#') और अंत में 'Esc' का उपयोग करके सामान्य मोड से बचें। देखा!

टिप्पणियों को हटाने के लिए टिप्पणियों का चयन करने के लिए ब्लॉकवाइड-विज़ुअल का उपयोग करें और उन्हें 'x' का उपयोग करके हटाएं।

+0

वाह, धन्यवाद! Esc-x टिप्पणी-क्षेत्र – clintm

+0

का उत्तर दें ध्यान दें कि उबंटू 14.04 ('vi' के रूप में स्थापित) के साथ स्थापित डिफ़ॉल्ट विम में 'visualextra' सुविधा शामिल नहीं है, इसलिए ब्लॉक सम्मिलन वहां काम नहीं करेगा। 'sudo apt-get install vim 'एक अधिक पूर्ण-विशेषीकृत संस्करण लाता है, जिस पर' visualextra' सक्रिय होता है। सक्रिय सुविधाओं की पूरी सूची देखने के लिए आप 'vim --version' के आउटपुट की जांच कर सकते हैं। –

3

मेरे ब्लॉक टिप्पणी तकनीक:

Ctrl +वी blockwise दृश्य मोड शुरू करने के लिए।

अपना चयन करें।

चयन अभी भी सक्रिय साथ

, शिफ्ट + मैं। यह आपको कॉलम डालने मोड में डाल देता है।

आप टिप्पणी '#' या '//' या जो कुछ भी टिप्पणी करते हैं।

ईएससी।

1

40 लाइनों बाहर टिप्पणी पहली पंक्ति पर कर्सर रखें और कमांड दर्ज करने के लिए किया जाएगा के लिए मेरे सामान्य विधि:

:।, + 40/^/#/

(यहाँ के लिए के माध्यम से 40 लाइनें आगे, हैश, स्पेस के साथ स्टार्ट-ऑफ-लाइन विकल्प) सुझाए गए कुछ अन्य तरीकों से थोड़ी देर लगती है, लेकिन मुझे माउस के बजाए कीबोर्ड के साथ चीजें करना पसंद है।

0

निशान सरल एमबी जहां यू शुरू करना चाहते हैं और मुझे जहां यू समाप्त करना चाहते हैं एक बार यह हो जाए तो आप काफी कुछ भी कर सकते आप चाहते हैं

:'b,'ed 

से मार्कर ख को हटा देता होगा

बाहर टिप्पणी मार्कर के 40 लाइनों आप दृश्य मोड में कर सकते हैं

+०१२३५१६४१०
V40j:s/^/#/ 

से जहां यू शुरू अनुक्रम

0

आप सामान्य मोड आदेश के बारे में पता होना चाहिए 40 लाइनों बाहर टिप्पणी करेंगे [गिनती] CTRL - डी। यह वैकल्पिक रूप से 'स्क्रॉल' विकल्प को 10 से [गिनती] में बदलता है, और उसके बाद कई पंक्तियों को स्क्रॉल करता है। दबाकर CTRL - डी फिर से उसी पंक्ति को नीचे स्क्रॉल करेगा।

तो प्रवेश करने

V  "visual line selection mode 
30 "optionally set scroll value to 30 
CTRL-D "jump down a screen, repeated as necessary 
y  " yank your selection 

ctrl-U उसी तरह लेकिन ऊपर स्क्रॉल काम करता है की कोशिश करो।

2

यदि आप लाइनों की एक श्रृंखला पर कार्रवाई करना चाहते हैं, और आप लाइन नंबरों को जानते हैं, तो आप कमांड लाइन पर रेंज डाल सकते हैं। उदाहरण के लिए, लाइनों के माध्यम से 200 20 से हटाने के लिए आप कर सकते हैं:

:20,200d 

लाइनों जहां लाइन 300 आप उपयोग कर सकते है करने के लिए 200 के माध्यम से ले जाने के लिए 20:

:20,200m300 

और इतने पर।

2

लाइनों बाहर टिप्पणी के लिए, मैं इन प्लग-इन में से एक सुझाव है:

EnhancedCommentify

NERD Commenter

मैं बेवकूफ अधिक का उपयोग करते हुए इन दिनों अपने आप को लगता है, लेकिन मैं वर्षों के लिए EnhancedCommentify का उपयोग किया है।

+0

आपने पहले से दूसरे में क्या बदल दिया? –

+0

एनईआरडी अधिक सक्रिय रूप से विकसित प्रतीत होता है, लेकिन मुझे वास्तव में उन्नत उन्नतकरण के व्यवहार को बेहतर पसंद है। –

+0

WITH एनईआरडी जैसे नाम ... आपको यह पता लगाना होगा कि कोई इसकी देखभाल कर रहा है। – ojblass

1

पहला उत्तर वर्तमान में सही नहीं है? बाहर टिप्पणी करने के लिए चयन प्रेस ':' और प्रकार कमांड : '<,'> s/^/#/जी

('<,'> - वहाँ स्वचालित रूप से हो जाएगा)

संबंधित मुद्दे

 संबंधित मुद्दे