#sublimetext3 #sublimetext #sublime-text-plugin
#sublimetext3 #sublimetext #sublime-text-plugin
Вопрос:
Допустим, у меня открыт файл. Каждая строка в файле — это идентификационный номер. Одна из задач, которую я часто выполняю, — преобразовать каждую строку в идентификационный номер в кавычках с запятой в конце каждой строки. В настоящее время я делаю это с помощью Find и Replace с регулярным выражением.
Пример:
Find: ^(.*)$
Replace: "$1",
Но если бы я мог запрограммировать макрос, чтобы сделать это за меня, тогда мне не пришлось бы каждый раз использовать Find и Replace.
Что-то вроде: Шаг первый: поместите курсор на каждую строку Шаг второй: переместите курсор в начало каждой строки Шаг третий: вставьте символ в двойную кавычку Шаг четвертый: переместите курсор в конец каждой строки Шаг пятый: вставьте символ в двойную кавычку Шаг шестой: вставьте символ-запятую
Ответ №1:
Вот макрос, который вы ищете,
[
{ "command": "select_all", },
{ "command": "split_selection_into_lines" },
{ "command": "insert_snippet", "args": { "contents": ""${0:$SELECTION}"" }, },
{ "command": "move_to", "args": { "to": "eol", "extend": false }, },
{ "command": "insert", "args": { "characters": ","}, }
]
Это то, что делает макрос:
- Он выделяет весь текст.
- Он создает выделение для каждой строки, помещая курсор в конец каждой строки.
- Он заключает текст каждой строки в двойные кавычки.
- Он перемещает курсоры в конец каждой строки.
- Он вставляет запятую (
,
) в конце каждой строки.
Файл макроса должен быть сохранен с .sublime-macro
расширением в вашем User
каталоге (если вы не уверены, где это находится, выберите Preferences --> Browse Packages...
из меню). Файл может называться как угодно, но описательные имена обычно лучше, поскольку они предотвращают последующую путаницу, например QuoteAndComma.sublime-macro
.
Вы можете запустить макрос из меню Sublime Text Tools --> Macros --> User --> QuoteAndComma
, но вот привязка клавиш, чтобы упростить его использование.
{
"keys": ["ctrl shift alt 5"],
"command": "run_macro_file",
"args": {"file": "res://Packages/User/QuoteAndComma.sublime-macro"},
},
Добавьте это в свой файл привязки пользовательских ключей, изменив ключи на все, что вы хотите. Обратите внимание, что в примере привязки ключа предполагается, что вы сохранили вышеупомянутый файл макроса как QuoteAndComma.sublime-macro
в User
каталоге.
Когда все это будет сделано, при нажатии клавиши привязки текст в каждой строке будет заключен в двойные кавычки, а затем будет добавлена запятая в конце.
В качестве дополнительного примечания вы также можете использовать следующую серию привязок клавиш по умолчанию для выполнения тех же действий, что и в файле макроса.
- ctrl a -> Выделяет весь текст.
- ctrl shift l -> Разделить выделение на строки.
- shift " -> В двойные кавычки.
- End -> Для перемещения каждого выделенного элемента в eol.
- , -> Последняя конечная запятая.
Наконец, на всякий случай, если вы заменяли один за другим раньше, на панели поиска / замены вы можете выбрать Replace All
, чтобы выполнить все замены за один раз.