В Sublime Text 2 можно мгновенно выбрать любую другую (или нечетную/четную) линию и поместить несколько курсоров на эти строки?
Спасибо.
В Sublime Text 2 можно мгновенно выбрать любую другую (или нечетную/четную) линию и поместить несколько курсоров на эти строки?
Спасибо.
.*\n.*\n
Вы можете сделать это легко:
ИЗМЕНИТЬ:
(.*(\n|$)){2}
Я искал способ выбора альтернативных строк в возвышенном виде.
Спасибо Джо Дейли за очень хороший ответ. Хотя я понял, что если вы используете регулярное выражение, он не будет выбирать последнюю строку в файле, если в конце файла нет новой строки.
Я хотел улучшить этот ответ, но на данный момент у меня нет достаточной репутации, чтобы прокомментировать ответ выше.
Вы можете использовать следующую строку поиска с включенным регулярным выражением, а затем нажмите alt + enter. За ним следует стрелка влево. Это поместило бы курсор на альтернативные строки (те же шаги, что объяснил Джо Дейли)
^.*\n.*$
Вы можете попробовать с помощью плагина: 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 на Mac).
Если вы хотите иметь everythnig в одном ярлыке, вы можете изменить плагин следующим образом:
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})
Последняя строка предназначена только для удаления выделения, оставив несколько курсоров в начале выбранных строк.