Wie kann ich jede andere Zeile mit mehreren Cursorn in Sublime Text auswählen?

162

Ist es in Sublime Text 2 möglich, jede andere (oder ungerade / gerade) Zeile sofort auszuwählen und mehrere Cursor auf diese Zeilen zu setzen?

Vielen Dank.

user2136580
quelle
5
Willst du keine Antwort akzeptieren?
Martin Thoma

Antworten:

381
  1. Finden Sie: Ctrl+F
  2. Wenn reguläre Ausdrücke noch nicht aktiviert sind, aktivieren Sie sie: Alt +R
  3. Geben Sie den Ausdruck ein .*\n.*\n
  4. Alle finden: Alt+Enter
  5. Drücken Sie den Pfeil nach links, um die Auswahl zu entfernen, und lassen Sie nur die Cursor übrig:
  6. Sie haben jetzt einen Cursor am Anfang jeder ungeraden Zeile. Wenn Sie gerade Zahlen möchten, drücken Sie:
  7. Abhängig von der Datei fehlt möglicherweise ein Cursor ganz unten in der Datei. Scrollen Sie mit der Maus (verdammt!) Nach unten, halten Sie sie gedrückt Ctrlund klicken Sie auf die Stelle, an der sich der fehlende Cursor befinden soll, um ihn hinzuzufügen.
Joe Daley
quelle
83
Sie können auch (.*\n){10}für jeweils 10 Zeilen verwenden
Joe Daley
21
Als neue Verbesserung :(.*(\n|$)){2}
Zessx
3
nett! @ zessx (.*(\n|$)){2}Lösung enthält die letzte Zeile
woojoo666
3
In Sublime 2 unter OS X 10.11.5 lautet die Verknüpfung für die RegEx-Suche Alt + Befehl + R. Sie können die RegEx-Suche auch aktivieren, indem Sie Befehl + F drücken und dann auf das folgende Symbol klicken: [. *]
lustig
97

Sie können es leicht tun:

  • Wählen Sie alle Ihre Zeilen oder das gesamte Dokument Ctrl+ ausA
  • Fügen Sie mehrere Selektoren hinzu: Ctrl+ Shift+ L(und in Mac: Befehl + Umschalt + L)

EDIT:

Zessx
quelle
12
Obwohl nicht die richtige Antwort auf diese Frage, ist dies das, was ich wollte. Danke fürs Teilen
Rajani Karuturi
Toller und einfacher Hinweis!
Filip
5
Diese Lösung brauchte ich, aber nicht das, was das OP will.
Schrei
13

Ich suchte nach einer Möglichkeit, alternative Zeilen in Erhabenheit auszuwählen.

Vielen Dank an Joe Daley für eine sehr gute Antwort. Obwohl mir klar wurde, dass bei Verwendung von Regex nicht die letzte Zeile in der Datei ausgewählt wird, wenn am Ende der Datei keine neue Zeile steht.

Ich wollte diese Antwort verbessern, aber ich scheine im Moment nicht genug Ruf zu haben, um die obige Antwort zu kommentieren.

Sie können die folgende Suchzeichenfolge bei aktiviertem regulären Ausdruck verwenden und dann Alt + Eingabetaste drücken. Gefolgt von einem Pfeil nach links. Dies würde jeweils einen Cursor auf alternative Zeilen setzen (dieselben Schritte wie von Joe Daley erklärt)

^.*\n.*$
Greenjambi
quelle
7

Sie können es mit einem Plugin versuchen: 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)

Speichern Sie diese Datei in Ihrem Packages/User.

Fügen Sie dann die Schlüsselbindung für dieses Plugin hinzu:

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

Dieser Befehl wählt alle anderen Zeilen aus. Wenn Sie andere Zeilen ausgewählt haben, können Sie den Split selection into linesBefehl ( Ctrl+ Shift+ L, Cmd+ Shift+) verwendenL auf dem Mac).

Wenn Sie alles in einer einzigen Verknüpfung haben möchten, können Sie das Plugin folgendermaßen ändern:

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})

Die letzte Zeile dient nur zum Entfernen der Auswahl, wobei am Anfang der ausgewählten Zeilen mehrere Cursor verbleiben.

Riccardo Marotti
quelle
1
Wow, das sieht vielversprechend aus - ich werde es versuchen, sobald ich kann!
user2136580
Vielen Dank! Ich bin ziemlich neu in den Plugins. Sollte lustig sein. Es wäre einfach fantastisch, jede andere Zeile auswählen zu können. Prost!
user2136580