मैं सबलेम टेक्स्ट में एकाधिक कर्सर के साथ हर दूसरी पंक्ति का चयन कैसे कर सकता हूं?


162

उदात्त पाठ 2 में, क्या यह संभव है कि हर दूसरे (या विषम / सम) लाइन का चयन करें और उन पंक्तियों पर कई कर्सर रखें?

धन्यवाद।


5
क्या आप एक उत्तर स्वीकार नहीं करना चाहते हैं?
मार्टिन थोमा

जवाबों:


381
  1. खोजें: Ctrl+F
  2. यदि नियमित अभिव्यक्ति पहले से ही सक्षम नहीं हैं, तो उन्हें सक्षम करें: Alt+R
  3. अभिव्यक्ति में टाइप करें .*\n.*\n
  4. सभी खोजें: Alt+Enter
  5. चयन को छुड़ाने के लिए बायाँ तीर दबाएँ, जिससे सिर्फ़ अभिशाप निकलेंगे:
  6. अब आपके पास हर विषम संख्या वाली रेखा के प्रारंभ में एक कर्सर है। यदि आप समान संख्या वाली लाइनें चाहते हैं, तो नीचे दबाएं:
  7. फ़ाइल के आधार पर, फ़ाइल के निचले भाग के ठीक नीचे एक कर्सर गायब हो सकता है। माउस का उपयोग करना (लानत!) नीचे तक स्क्रॉल करें, दबाए रखें Ctrl, और क्लिक करें कि लापता कर्सर को इसमें जोड़ना चाहिए।

83
आप (.*\n){10}प्रत्येक 10 लाइनों के लिए भी उपयोग कर सकते हैं
जो डेलि


3
अच्छा! @ zessx के (.*(\n|$)){2}समाधान में अंतिम पंक्ति शामिल है
woojoo666

3
बस ध्यान दें, OS X 10.11.5 पर चलने वाले सबलाइम 2 में, RegEx खोज का शॉर्टकट Alt + Command + R है। आप कमांड + F दबाकर RegEx खोज को सक्षम भी कर सकते हैं और फिर इस तरह दिखने वाले आइकन पर क्लिक कर सकते हैं: [। *]
lustig

97

आप इसे आसानी से कर सकते हैं:

  • अपनी सभी पंक्तियों, या पूरे दस्तावेज़ Ctrl+ का चयन करेंA
  • कई चयनकर्ता जोड़ें: Ctrl+ Shift+ L(और मैक में: कमांड + शिफ्ट + एल)

संपादित करें:


12
हालांकि इस सवाल का सही जवाब नहीं है, यह वही है जो मैं चाहता था। साझा करने के लिए धन्यवाद
रजनी करुतुरी

महान और सरल संकेत!
filip

5
यह समाधान है जो मुझे चाहिए था लेकिन ओपी क्या चाहता है।
चीख

13

मैं उदात्त में वैकल्पिक लाइनों का चयन करने के लिए एक रास्ता खोज रहा था।

बहुत अच्छे उत्तर के लिए जो डेलि को धन्यवाद। हालांकि मुझे एहसास हुआ कि, यदि आप regex का उपयोग करते हैं तो यह फ़ाइल में अंतिम पंक्ति का चयन नहीं करेगा यदि फ़ाइल के अंत में कोई नई-पंक्ति नहीं है।

मैं उस उत्तर को सुधारना चाहता था, लेकिन ऊपर दिए गए उत्तर पर टिप्पणी करने के लिए मुझे इस समय पर्याप्त प्रतिष्ठा नहीं है।

आप regex चालू के साथ निम्न खोज स्ट्रिंग का उपयोग कर सकते हैं, और उसके बाद alt + एंटर दबाएं। एक बाण द्वारा पीछा किया। इससे वैकल्पिक लाइनों पर एक-एक कर्सर रखा जाएगा (जो कि डेली द्वारा समझाया गया है)

^.*\n.*$

7

आप एक प्लगइन के साथ कोशिश कर सकते हैं: Tools/New Plugin...

import sublime_plugin


class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.window().run_command("expand_selection", {"to": "line"})
        start_region = self.view.sel()[0]
        self.view.window().run_command("select_all")
        self.view.sel().subtract(start_region)

इस फाइल को अपने में सेव करें Packages/User

फिर, उस प्लगइन के लिए कुंजी बंधन जोड़ें:

{ "keys": ["super+alt+l"], "command": "expand_selection_to_other_lines" }

यह कमांड अन्य सभी लाइनों का चयन करेगी। जब आपके पास अन्य लाइनें चुनी जाती हैं, तो आप Split selection into linesकमांड ( Ctrl+ Shift+ L, Cmd+ Shift+ Lमैक पर) का उपयोग कर सकते हैं ।

यदि आप हर शॉर्टकट को एक ही शॉर्टकट में रखना चाहते हैं, तो आप प्लगइन को इस तरह से संशोधित कर सकते हैं:

import sublime_plugin


class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.window().run_command("expand_selection", {"to": "line"})
        start_region = self.view.sel()[0]
        self.view.window().run_command("select_all")
        self.view.sel().subtract(start_region)
        self.view.window().run_command("split_selection_into_lines")
        self.view.window().run_command("move", {"by": "characters", "forward": False})

अंतिम पंक्ति केवल चयन को हटाने के लिए है, चयनित लाइनों की शुरुआत में कई कर्सर को छोड़कर।


1
वाह यह आशाजनक लग रहा है - मैं जितनी जल्दी हो सके इस कोशिश कर रहा हूँ!
user2136580

आपका बहुत बहुत धन्यवाद! मैं प्लगइन्स के लिए काफी नया हूं। मजेदार होना चाहिए। हर दूसरी पंक्ति का चयन करने में सक्षम बस शानदार होगी। चीयर्स!
user2136580
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.