एक चर के सभी उदाहरणों का चयन कैसे करें और उदात्त में चर नाम को संपादित करें


428

यदि मैं अपने कोड में एक वेरिएबल (सिर्फ कोई स्ट्रिंग नहीं) चुनता हूं, तो उस वेरिएबल के अन्य सभी इंस्टेंसेस को एक स्ट्रोक (व्हाइट आउटलाइन) मिलता है:

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

क्या कोई कीबोर्ड शॉर्टकट है जो मुझे चर के उन सभी उदाहरणों का चयन करने और उन्हें एक ही बार में संपादित करने देगा?


जिन चीजों की मैंने कोशिश की है:

D, Kऔर Uमुझे उन्हें एक-एक करके चुनने देता है, लेकिन मुझे गैर-चर स्ट्रिंग मैचों को मैन्युअल रूप से बाहर करना होगा:

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

और CtrlGबस का उपयोग करके सभी स्ट्रिंग मैचों का चयन करता है :

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

स्पष्ट रूप से, उदात्त चर और स्ट्रिंग मैचों के बीच अंतर करने में सक्षम है। क्या केवल चर मैचों का चयन करने का कोई तरीका नहीं है?

जवाबों:


604
  1. कर्सर को वेरिएबल में रखें।

    नोट: कुंजी एक खाली चयन के साथ शुरू करने के लिए है। उजागर मत करो; बस अपना कर्सर वहाँ रखो

चर पर पाठ कर्सर

  1. Dआवश्यकतानुसार दबाएं । मैक पर नहीं? का उपयोग करें CtrlD

चर के अधिक उदाहरणों पर प्रकाश डाला गया

काम नहीं किया? फिर से प्रयास करें, चयनित कुछ भी नहीं के साथ शुरू करने के लिए सुनिश्चित करें ।

अधिक आदेश:

सभी का पता लगाएं: CtrlG एक बार में सभी घटनाओं का चयन करता है। मैक पर नहीं?AltF3

चयन को पूर्ववत करें: U पीछे की ओर कदम। मैक पर नहीं?CtrlU

त्वरित छोड़ें अगला: KD अगली घटना को छोड़ देता है। मैक पर नहीं?CtrlKCtrlD

उदात्त डॉक्स


14
Non क्या है, आप गैर-मैक कीबोर्ड पर यह कैसे करते हैं?
बजरैक फ्रायंड-हेन्सन

6
कम से कम ST3 में आप अन्य D-D कमांड के बिना Ctrl-in-G कर सकते हैं। दुर्भाग्य से मेनू में इसकी बहुत गलतफहमी है!
वाट्सोनिक

30
यह ओपी के मूल प्रश्न का उत्तर नहीं देता है। उसने विशेष रूप से पूछा variable (not just any string)। यह बस स्ट्रिंग की सभी घटनाओं का चयन करता है।
बेटजामिन रिचर्ड्स

17
@BetjaminRichards सुनिश्चित करें कि आप चर का चयन (हाइलाइटिंग) नहीं कर रहे हैं। बस चर पर कर्सर ले जाएँ और फिर theD दबाएँ। संयोग से, यह ठीक वही मुद्दा है जो मेरे पास मैटडामो के जवाब ( stackoverflow.com/a/16844924/483520 ) के साथ था।
नोलन एमी

2
@ मुहम्मदउमर कुछ भी जो शब्द से मेल खाता है, सीमाओं को ध्यान में रखते हुए। एक सच्चा वैरिएबल खोज नहीं है, लेकिन साधारण स्ट्रिंग मिलान से बहुत बेहतर है।
नोलन एमी

135

मुझे पता है कि प्रश्न मैक के बारे में है, लेकिन मैं यहां उबंटू के लिए उत्तर खोज रहा हूं, इसलिए मुझे लगता है कि मेरा उत्तर किसी के लिए उपयोगी हो सकता है।

इसे करने का आसान तरीका AltF3:।


10
यह अभी भी सब कुछ है जो अंदर foo का चयन है।
user1767754

1
इस उत्तर प्रश्न के लिए है: stackoverflow.com/q/12162047/2270563 । लेकिन यहां सवाल अलग है। सभी मैचों के बजाय केवल चर का चयन करने के लिए।
राम

4
@ user1767754 यदि आप उस सभी का चयन नहीं करना चाहते हैं जो fooअंदर है, तो पहले से ही पहले का चयन न करें foo। इसके बजाय बस शब्द में एक कर्सर रखें fooऔर फिर Alt-F3। वोइला
अनवर

यह उत्तर गलत है। यह fooन केवल हाइलाइट किए गए लोगों के सभी उदाहरण का चयन करेगा ।
एंड्रे सी। एंडरसन

KDE में काम नहीं करता है, इसलिए मैंने बस {"चाबियाँ": ["alt + d"], "कमांड": "find_all_under"} को कुंजी बाइंडिंग फ़ाइल में जोड़ा: वरीयताएँ> कुंजी बाइंडिंग। alt + d वहां किसी भी चीज़ के साथ संघर्ष नहीं करता है।
user1985553

47

बहुत प्रयास के बावजूद, मुझे वह करने के लिए अंतर्निहित या प्लग-इन करने का तरीका नहीं मिला है जिसे आप करने की कोशिश कर रहे हैं। मैं इस बात से पूरी तरह सहमत हूं कि यह संभव होना चाहिए, क्योंकि जब आप पहली बार इसे उजागर करते हैं, तो यह कार्यक्रम अलग-अलग fooहो सकता buffoonहै, लेकिन किसी को भी ऐसा करने का तरीका नहीं मालूम होता है।


हालाँकि, यहाँ Sublime Text 2 में शब्दों के चयन के लिए कुछ उपयोगी मुख्य शब्द दिए गए हैं:

CtrlG- वर्तमान शब्द ( AltF3विंडोज / लिनक्स पर) की सभी घटनाओं का चयन करता है

D- वर्तमान शब्द के अगले उदाहरण का चयन करता है ( CtrlD)

  • K, D- वर्तमान उदाहरण को छोड़ देता है और अगले एक का चयन करने के लिए आगे बढ़ता है ( CtrlK, CtrlD)
  • U- "नरम पूर्ववत करें", पिछले चयन पर वापस जाता है ( CtrlU)

E, H- खोजें में "खोज" क्षेत्र के रूप में वर्तमान चयन का उपयोग करता है और बदलें ( CtrlE, CtrlH)


6
लेकिन स्ट्रोक केवल चर नाम की घटनाओं के आसपास दिखाई देता है , जबकि ⌘+Dस्ट्रिंग की सभी घटनाओं पर कार्य करता है। उदाहरण के लिए, यदि मैं हाइलाइट करता हूं, तो fooउदात्तता सभी चर foos पर आश्चर्यजनक रूप से आघात करती है , लेकिन fooमेरे eject_buffoonकार्य में स्ट्रिंग नहीं । और फिर भी ऊपर दिए गए प्रमुख कॉम्बो का उपयोग करते हुए, मैं फ़ंक्शन ⌘+Kसे बचने के लिए स्ट्रिंग मैचों को मैन्युअल रूप से बाहर करने के लिए मजबूर हूं eject_bufbarn। इसके लिए अवश्य ही एक बेहतर तरीका होना चाहिए!
नोलन एमी

@ नोलेन - एक प्रश्न पूछने के लिए स्वतंत्र महसूस करें और देखें कि क्या किसी के पास कोई सुझाव है। एक संभावित समाधान का चयन करना है foo_(फू और इसके बाद की जगह) या _foo_(पहले और बाद दोनों स्थान) और फिर उपयोग ⌘-Dया Ctrl-⌘-D
मट्टडामो

7
मुझे वास्तव में लगता है कि यह वही सवाल है जो ओपी पूछ रहा था। वह विशेष रूप से " चर " ("पाठ क्षेत्र" या "स्ट्रिंग") और " स्ट्रोक " ("हाइलाइटिंग" नहीं) कहते हैं। और यह सवाल stackoverflow.com/questions/12162047/… का डुप्लिकेट नहीं है - जो कहता है कि "चयन पर प्रकाश डाला गया"। इसके अलावा, ज़ाहिर है, अक्सर पता चलता है के रूप में , , , और , इसलिए बहुत असंतोषजनक है। foo(foo)_foo,(foo,_foo}_foo_
नोलन एमी

21

इसने मेरे लिए काम किया। उस शब्द की शुरुआत में अपना कर्सर रखें, जिसे आप बदलना चाहते हैं

CtrlK, CtrlD, CtrlD...

उस शब्द के कई उदाहरणों का चयन करना चाहिए जो आपको पसंद हैं, तो आप प्रतिस्थापन को टाइप कर सकते हैं।


1
यह वह उत्तर था जिसने मेरे लिए उस उत्तर के अलावा काम किया जिसका उल्लेख किया गया है। अच्छा !
आकाश

इस सवाल का जवाब नहीं है।
MD004

@ MD004 कैसे?
hobs

@hobs सवाल यह है कि एक ही बार में "उन सभी उदाहरणों का चयन करें" । मैं शीर्षक में प्रश्न के वाक्यांशांकन को स्वीकार करता हूं, अस्पष्ट है, लेकिन बाद में पोस्ट में ओपी आपके समाधान का वर्णन करता है और कहता है कि यह "उन्हें एक-एक करके चुनता है, लेकिन मुझे गैर-चर स्ट्रिंग मैचों को मैन्युअल रूप से बाहर करना होगा “जो असंतोषजनक है। Btw, एक उदाहरण परिदृश्य जहां यह असंतोषजनक है जब कहते हैं, कहते हैं, 1000 शब्द जो आप बदलना चाहते हैं, उस स्थिति में मैन्युअल रूप से उनका चयन करना एक विकल्प नहीं है।
1800 बजे MD004

1
हाँ! मैंने देखा। धन्यवाद। अब मैं देखता हूं कि ओपी की स्थिति और आपके 1000-घटना उदाहरण के लिए स्वीकृत उत्तर क्यों बेहतर है।
hobs

12

जादू है, आपको एक खाली चयन के साथ शुरू करना है, इसलिए अपने कर्सर को उस शब्द / चरित्र के सामने रखें जिसे आप बहु-चयन करना चाहते हैं और Ctrl+ दबाएं D


2
यह एकल वर्णों के चर का उत्तर है। किसी भी अन्य चर के लिए, आप कर्सर को चर के साथ कहीं भी शुरू कर सकते हैं।
manish_s 21

यह मेरे लिए उदात्त 3 में काम करता है और इसे करने का सबसे सरल तरीका है यदि आप एक छोटे क्षेत्र में बदलावों को सीमित करना चाहते हैं जैसे कि पूरी फ़ाइल के विपरीत। MacOS के लिए कमांड-डी, बिल्कुल।
रयान एच।

10

मेरे लिए, यह उदात्त में सबसे बड़ी गलती है। Alt+ F3तक पहुँचने / याद करना मुश्किल है, और Ctrl+ Shift+ Gबनाता है कोई मतलब नहीं पर विचार Ctrl+D "चयन करने के लिए अगले उदाहरण जोड़ने" है।

इसे अपनी उपयोगकर्ता कुंजी बाइंडिंग (प्राथमिकताएँ> कुंजी बाइंडिंग) में जोड़ें:

{ "keys": ["ctrl+shift+d"], "command": "find_all_under" },

अब आप कुछ हाइलाइट कर सकते हैं, Ctrl+ Shift+ दबा सकते हैं D, और यह फ़ाइल में हर दूसरे उदाहरण को चयन में जोड़ देगा।


1
यह एकमात्र उत्तर है जो वास्तव में मूल प्रश्न का उत्तर देता है!
kmundnic

अभी भी तार और टिप्पणियों का चयन करता है
वासादामो


4

जैसा कि user1767754 ने कहा है, यहां कुंजी शुरू में कोई चयन नहीं करना है।

बस चर नाम के अंदर कर्सर रखें, इसे चुनने के लिए डबल क्लिक न करें। एकल वर्ण चर के लिए, शुरू में कोई चयन न करने के लिए चर के सामने या अंत में कर्सर रखें।

अब अगले चर चयन के लिए Cmd+ रखें + और + एक ही बार में सभी चर चुनने के लिए। यह जादुई रूप से केवल चर का चयन करेगा।DCtrlCmdG


0

बस अगर किसी और को कई फाइलों में एक स्ट्रिंग को बदलने का तरीका ढूंढते समय इस सवाल पर ठोकर लगी, तो यह Command+ Shift+ हैF

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