Czy w Sublime Text 2 można od razu zaznaczyć co drugą (lub nieparzystą / parzystą) linię i umieścić na nich wiele kursorów?
Dzięki.
Czy w Sublime Text 2 można od razu zaznaczyć co drugą (lub nieparzystą / parzystą) linię i umieścić na nich wiele kursorów?
Dzięki.
Odpowiedzi:
.*\n.*\n
(.*\n){10}
dla każdych 10 linii
(.*(\n|$)){2}
(.*(\n|$)){2}
zawiera ostatnią linię
Możesz to łatwo zrobić:
EDYTOWAĆ :
(.*(\n|$)){2}
wyrażeniemSzukałem sposobu na wysublimowany wybór alternatywnych linii.
Dziękuję Joe Daley za bardzo dobrą odpowiedź. Chociaż zdałem sobie sprawę, że jeśli użyjesz wyrażenia regularnego, nie wybierze on ostatniej linii w pliku, jeśli nie ma nowej linii na końcu pliku.
Chciałem poprawić tę odpowiedź, ale wydaje mi się, że w tej chwili nie mam wystarczającej reputacji, aby skomentować powyższą odpowiedź.
Możesz użyć następującego ciągu wyszukiwania przy włączonym wyrażeniu regularnym, a następnie nacisnąć klawisze alt + enter. Po której następuje strzałka w lewo. Spowoduje to umieszczenie kursora w alternatywnych wierszach (te same kroki, które wyjaśnił Joe Daley)
^.*\n.*$
Możesz spróbować z wtyczką: 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)
Zapisz ten plik w swoim Packages/User
.
Następnie dodaj powiązanie klawiszy dla tej wtyczki:
{ "keys": ["super+alt+l"], "command": "expand_selection_to_other_lines" }
To polecenie wybierze wszystkie inne linie. Gdy zaznaczysz inne linie, możesz użyć Split selection into lines
polecenia ( Ctrl+ Shift+ L, Cmd+ Shift+ Lna Macu).
Jeśli chcesz mieć wszystko w jednym skrócie, możesz zmodyfikować wtyczkę w następujący sposób:
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})
Ostatnia linia służy tylko do usunięcia zaznaczenia, pozostawiając wiele kursorów na początku wybranych linii.