Ist es in Sublime Text 2 möglich, jede andere (oder gerade/ungerade) Zeile sofort auszuwählen und mehrere Cursor auf diese Zeilen zu setzen?
Vielen Dank.
.*\n.*\n
Sie können es leicht tun:
EDIT:
(.*(\n|$)){2}
AusdruckIch suchte nach einer Möglichkeit, alternative Zeilen in erhabener Form 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 Regex 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.*$
Du kannst 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 Split selection into lines
Befehl (Ctrl+Shift+L, Cmd+Shift+L auf 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 mehrere Cursor am Anfang der ausgewählten Zeilen verbleiben.