कई पंक्तियों के संपादन का IntelliJ IDEA तरीका


113

मैंने इसे TextMate में देखा है और मैं सोच रहा था कि क्या यह आईडिया में करने का कोई तरीका है।

कहो कि मेरे पास निम्नलिखित कोड है:

 leaseLabel = "Lease";
 leaseLabelPlural = "Leases";
 portfolioLabel = "Portfolio";
 portfolioLabelPlural = "Portfolios";
 buildingLabel = "Building";

हर पंक्ति में '+' 'फू' को जोड़ने का सबसे अच्छा तरीका क्या है? कॉलम मोड ठीक से काम नहीं करेगा क्योंकि लाइनें सही तरफ सही तरीके से संरेखित नहीं होती हैं ... जब तक कि पाठ को सही करने का एक आसान तरीका नहीं है: P


यह कुछ ऐसा है जो मुझे इतनी बार करने की आवश्यकता है कि भले ही मेरे संपादक में एक विशेष मोड था, मुझे कभी भी यह याद नहीं होगा कि इसका उपयोग कैसे करना है। मैं क्लिपबोर्ड का उपयोग सिर्फ अगर यह केवल कुछ लाइनों (ऊपर की तरह) के लिए होता। यदि यह सैकड़ों लाइनों के लिए है, तो जब मैं गैजेट को खोजने / बदलने के लिए आगे बढ़ूंगा।
माइकल बूर

कॉलम मोड में, बहुत बाईं ओर 5 कर्सर बनाएं। फिर दाईं ओर जाने के लिए Ctrl-RightArrow का उपयोग करें। एकाधिक कर्सर, मैक्रोज़ और खोज-प्रतिस्थापित सभी इसे पूरा करने के लिए बहुत बढ़िया तरीके हैं! मैं तय नहीं कर सकता कि मुझे कौन सा सबसे अच्छा लगता है।
डैनियल अलेक्सियस

इसका विकल्प + Shift + Macbook के लिए क्लिक करें। सभी इंटेलीज शॉर्टकट: docs.google.com/document/d/…
सोहम मेहता

जवाबों:


174

Idea IntelliJ IDEA 13.1 के बाद से कई लाइनों को संपादित करने की संभावना है।

उपयोग:

Alt+ Shift+ माउस क्लिक करें

चयन के लिए। IntelliJ ब्लॉगपोस्ट में इस नए सुधार के बारे में यहाँ और अधिक । बहुत उपयोगी सुविधा।


1
लिंक के लिए धन्यवाद। मैं गलती से इस फीचर पर हिट हो गया, लेकिन किसी तरह मैं यह पता नहीं लगा सका कि गलती से मैंने किस कॉम्बिनेशन को दबाया :)
aberrant80

12
फरवरी 2015 के अनुसार Alt-Shift-Insert: कॉलम चयन मोड या केवल Alt-Select। बहुत शक्तिशाली और प्रयोग करने में आसान। मुझे यकीन नहीं है कि लोग ओपी को "खोज और प्रतिस्थापन" का उपयोग करने के लिए कहते रहते हैं, जब वह स्पष्ट रूप से एक साथ लाइन संपादन के बारे में पूछ रहा है - तथ्य यह है कि वह पूछता है कि वह खोज और प्रतिस्थापन के बारे में जागरूक होने के लिए पर्याप्त स्मार्ट है।
रिचीएच

4
Mac के लिए, इसका Alt + क्लिक करें।
गौतम गोपालकृष्णन

5
और अभी के लिए, बस माउस मध्य बटन + खींचें।
पश्चिमीगुण

1
इसका विकल्प + Shift + Macbook के लिए क्लिक करें। सभी इंटेलीज शॉर्टकट: docs.google.com/document/d/…
सोहम मेहता

114

मैं का उपयोग स्तंभ चयन मोड ( Cmd+ Shift+ 8मैक पर) जो कई कर्सर के माध्यम से बनाने की अनुमति देता Shift+ Upया Shift+ Downसंपादित सभी लाइनों को एक साथ तो।

IntelliJ IDEA 14 से शुरू होने वाला क्लोन कैरेट ऊपर / नीचे भी है :

  • विंडोज: Ctrl, Ctrl+ Up/Down
  • MacOS: Option, Option+ Up/Down

(संशोधक कुंजी का दूसरा बटन दबाए रखें, फिर तीर कुंजी दबाएं)


5
मैंने अकस्मात Cmd + Shift + 8 दबाया था और मेरे जीवन के लिए यह पता नहीं लगा सका कि क्यों सब कुछ "मल्टी लाइन" का चयन करने योग्य था। कमांड शॉर्टकट के लिए धन्यवाद!
रॉबिन जोंसन

4
IntelliJ अल्टीमेट 2016.1 पर डबल <kbd> Ctrl </ kbd> मेरे लिए काम नहीं करता है। मुझे डबल <kbc> विकल्प </ kbd> का उपयोग करना होगा, दूसरा प्रेस पकड़ना होगा, फिर एरो कीज़ को दबाना होगा।
बिग मैकलर्जह्यूज

1
@DaveKennedy आप बिल्कुल सही हैं, जेट दिमाग ने डिफ़ॉल्ट शॉर्टकट बदल दिया है।
अलेक्जेंडर बोगुशोव

डबल ctrl समाधान सबसे अच्छा है क्योंकि यह कीबोर्ड पर मेरे हाथों को रखने की अनुमति देता है
बेट्सन

कुंजी मैपिंग को वास्तव में आपके द्वारा उपयोग किए जाने वाले किसी भी अन्य संपादक से मिलान करने के लिए, सेटिंग्स -> कीमैप में जाएं, और "क्लोन कैरट" के लिए सही खोज बॉक्स में खोजें। कार्रवाई पर राइट क्लिक करें और "कीबोर्ड शॉर्टकट जोड़ें"। यदि यह सहेजता है तो यह विरोध का कारण बनता है, वैसे भी "ओके" पर क्लिक करें। फिर यह एक और संकेत पूछेगा कि क्या आप दूसरे असाइनमेंट (शायद आप जो चाहते हैं) को "हटाना" या "छोड़ना" चाहते हैं (जानबूझकर एक शॉर्टकट से दो चीजों को ट्रिगर करना अजीब लगता है ...) या "रद्द" (क्यों क्या आपने पहले ठीक क्लिक किया था?)
ArtOfWarfare

38

एक और कीबोर्ड केवल दृष्टिकोण। यह संभव है उपयोग करने के लिए (13.1 संस्करण के बाद से) Alt+ J/ Shift+ Alt+ J( Ctrl+ Gओएस एक्स के लिए) कई कैरेट बनाने के लिए शॉर्टकट। Alt+ Jवर्तमान में चयनित पाठ की अगली घटना का चयन करता है और एक और कैरेट जोड़ता है।

  1. पहले अर्धविराम का चयन करें

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

  1. फिर Alt+ Jचार बार दबाएँ

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

  1. जिसे आप चाहते हैं उसे संपादित करें

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

  1. Escपहली पंक्ति पर लौटने के लिए दबाएँ ।

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


5
भगवान, मैं एक साल के लिए इस सुविधा के बिना रहता था! आपका बहुत बहुत धन्यवाद!
coffman21

27

अंत में कैरेट रखें

विंडोज: CTRL + CTRL(होल्ड) +↑ / ↓

Mac: option + option(होल्ड) + ↑ / ↓

पंक्तियों के अंत में कैरेट लगाने के लिए: कैरट को शीर्ष पंक्ति में ले जाएं, नीचे की ओर क्लोन करें, और क्लिक करें END

मल्टी-केयर हॉटकी बदलें

एक कस्टम कीमैप जोड़ने के लिए, CTRL+ SHIFT+ Aटाइप keymapकरें और सबटेक्स्ट के साथ वाले पर क्लिक करें SettingsClone Caret Aboveऔर खोजें Clone Caret Below

मैं मेरा मैप किया गया करने के लिए ALT+ SHIFT+ ↑ / ↓और Windows पर + ↑ / ↓मैक पर।

बक्शीश

की होल्डिंग संयोजनों का प्रयास करें CTRL, SHIFTऔर चयन बिजली सुधार के लिए तीर।


1
'लंबाई' टिप्पणी के लिए धन्यवाद, विभिन्न लंबाई के साथ चर में आम असाइनमेंट के लिए बढ़िया है।
कीगन 82

1
यह उत्तर होना चाहिए क्योंकि यह सबसे पूर्ण और टू-द-पॉइंट प्रतिक्रिया है। +1।
एरियल मिरा

दूसरा तरीका यह है कि "ऑल्ट" को पकड़ें और "जे" को दबाए रखें, यह मल्टी-लाइन सेलेक्ट में लाइनों को जोड़े रखेगा।
गौरव

13

कॉलम मोड ठीक काम करता है: पहले कॉलम मोड में सभी लाइनों का चयन करें, फिर END दबाएं: प्रत्येक कर्सर संबंधित लाइन के अंत में कूद जाएगा।

लिनक्स पर ( कोई जरूरत नहीं ):

  1. ALT+ SHIFT+ INSERTब्लॉक-मोड में प्रवेश करने के लिए

    दर्ज कॉलम संपादन मोड

  2. SHIFT + UPया SHIFT + DOWNकई लाइनों का चयन करने के लिए

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

  3. END प्रत्येक पंक्ति के अंत में जाने के लिए

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

  4. अब टाइप करें foo, यह इसे प्रत्येक पंक्ति में जोड़ देगा:

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

  5. अब सब कुछ रद्द कर दें ESCAPEऔर सामान्य चयन मोड के साथ वापस स्विच करें ALT + SHIFT + INSERT


9

आप माउस व्हील पर क्लिक करके और ड्रैग करके वर्टिकल कोड ब्लॉक सिलेक्शन भी कर सकते हैं :

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


8

अगला अवसर चुनें:

      Alt+J on Windows, Ctrl-G on Mac OS X

अचयनित घटना:

      Alt+Shift+J on Windows, Ctrl-Shift-G on Mac OS X

सभी अवसरों का चयन करें:

      Ctrl+Alt+Shift+J on Windows, Ctrl-Cmd-G on Mac OS X

अधिक संदर्भ के लिए: लिंक


आपके साथ बिंदु (left) Alt + Jपहले कोड का चयन करना है।
ALIZEYN

7

मैं बस इस तरह की चीज़ के लिए मैक्रोज़ का उपयोग करता हूं। मैं मैक्रो रिकॉर्ड करना शुरू करता हूं, इसे एक बार करें, फिर मैक्रो को उस प्रत्येक पंक्ति पर चलाएं जिसे मैं संशोधित करना चाहता हूं। आप आश्चर्यचकित होंगे कि मैक्रो रिकॉर्ड / प्लेबैक सुविधा के साथ आप कैसे फैंसी प्राप्त कर सकते हैं।


इन प्रकार के परिवर्तनों को करने के लिए मैक्रोज़ को फेंकना बहुत आसान हो सकता है। आप किस तरह से घृणा करते हैं यह ठीक वैसा ही है जैसा मैं ज़ीउस संपादक के अंदर ये बदलाव कर रहा था।
jussij

यदि लाइनें सभी को एक साथ समूहीकृत करती हैं, तो मैक्रो को कर्सर को अगली पंक्ति में स्थानांतरित करने के लिए रिकॉर्ड करें, तो आपको बस पहली पंक्ति पर मैक्रो को चलाना शुरू करना होगा और फिर भी कई बार आप चाहते हैं।
वीजी

आपका क्या मतलब है कि आप "जितनी बार चाहें उतनी बार दोहरा सकते हैं"? क्या किसी मैक्रो को स्वचालित रूप से दोहराने का एक तरीका है?
pypmannetjies

संपादित करें-> मैक्रोज़-> प्लेबैक अंतिम मैक्रो। मुझे F12 पर मैप किया गया है, लेकिन मेरे पास एक गैर-मानक कुंजी बंधन है। मैं एक बार मैक्रो करता हूं और F12 को बार-बार हिलाना शुरू करता हूं।
क्रिस केसेल

मैक्रोज़ अच्छा है, लेकिन अगर मैं इंटेलीज पर विचार का उपयोग करता हूं, तो मैक्रो विम के शॉर्टकट को हल नहीं कर सकता है
अमिताभ

5

मुझे यह पता लगाने में थोड़ा समय लगा, लेकिन मैक पर आप डबल-प्रेस कर सकते हैं Option(इसे एक बार दबाएं, रिलीज करें, इसे फिर से दबाएं, इसे दबाए रखें) और उपयोग करें Up/Down अपनी पसंद के अनुसार देखभाल बनाने / हटाने के लिए कुंजियों का ।

आप विशिष्ट बिंदुओं पर देखभाल बनाने / हटाने के लिए Shift+ पर भी Optionक्लिक कर सकते हैं ।


यह बहुत अच्छा है, लेकिन क्या ऐसा करने का कोई तरीका है और फ़ाइल के अंत तक सभी तरह का चयन करें? अन्यथा मुझे तीर का उपयोग करके पूरी चीज़ को स्क्रॉल करना है और हमारे पास कुछ बड़े पैमाने पर फाइलें हैं।
जैकी


3

इस स्थिति में आप केवल उस कोड के टुकड़े का चयन कर सकते हैं जिसमें आप यह करना चाहते हैं और उस पर एक प्रतिस्थापन करें। बदलें:

";

साथ:

" + "फू";

अगर आपको पता नहीं है कि आप पाठ का चयन करते हैं, तो यदि आप एक पाठ (Ctrl + R या Cmd + R) करते हैं, तो यह केवल पाठ के चयनित टुकड़े पर लागू होगा।


2

ALT दबाए रखें और क्लिक और ड्रैग के लिए माउस का उपयोग करें




1

नए संस्करणों के लिए उपयोग: Alt+ Shift+Insert


1
निर्दोष रूप से काम करता है! धन्यवाद @ मायसम
गौरव

दूसरा तरीका यह है कि "ऑल्ट" को पकड़ें और "जे" को दबाए रखें, यह मल्टी-लाइन सेलेक्ट में लाइनों को जोड़े रखेगा।
गौरव

0

मैं आमतौर पर क्या उपयोग करता हूं (नेटबीन्स, लेकिन मेरा मानना ​​है कि किसी भी आईडीई में उपयोग करना सरल है) find&replace

आप ;\nइसे ढूंढते हैं और इसे बदल देते हैं+ $foo;\n फिर आप सभी लाइनों पर लागू नहीं होते हैं, लेकिन आप कर्सर को पहली पंक्ति पर रखते हैं और आप केवल 7 बार बदलने के लिए "आइडेंटी (आपके आईडीई मैं मान लेते हैं) बटन" हिट "प्रतिस्थापित करते हैं। आसान और सरल और यह सबसे बुनियादी और सबसे उन्नत आईडीई के साथ किया जाना चाहिए जिसे आप पा सकते हैं।

संपादित करें: IntelliJ में (पता नहीं है कि यह अन्य आईडीई में भी काम करता है) आप अपने regexp खोज का उपयोग कर सकते हैं और केवल चयन के लिए प्रतिस्थापित कर सकते हैं ताकि आप वास्तव में "सभी को प्रतिस्थापित करें" का उपयोग कर सकें


Ofc ऐसे मामले हैं जहां आप इस पद्धति को लागू नहीं कर सकते हैं, जब लाइनें कुल भिन्न या कुछ और होती हैं, लेकिन मुझे लगता है कि आप इस स्थिति के बारे में उन्नत तरीकों से भी नहीं कर सकते।
श्रीनेकजेक

तो क्यों -1? मैंने उनके द्वारा पूछे गए प्रश्न का उत्तर दिया। -1 सवाल अगर आपको इसका बेवकूफ लगता है, तो सही जवाब नहीं। मैक्रो के साथ स्वीकृत जवाब ईमानदार होना मेरी राय में धीमी है।
श्रीनेज़ेक


0

उपरोक्त सभी उत्तर बहुत अच्छे हैं, लेकिन यदि आप लाइनों के अंत में मल्टीलाइन एडिट चाहते हैं तो आपके पास "एंड" की प्रेस है जबकि आपका मल्टीलाइन चयन सक्रिय है।

मैक अनुक्रम के लिए होगा:

shift option click # लाइनों का एक सेट का चयन करें

command right arrow # लाइनों के अंत में जाएं

यह लाइन के अंत में बहुस्तरीय चयन करेगा और आप इसे आवश्यकतानुसार संपादित कर सकते हैं

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