Notepad++: как автоматизировать обрамление выделенного текста другим
Например, мы хотим, чтобы в Notepad++ выделенный текст обрамлялся тегом HTML по нажатию горячей клавиши, то есть, строка
превращалось в <i>строка</i>
. Возможны и другие применения.
В интернетах обычно советуют ставить какой-нибудь плагин и настраивать его, но набор стандартных плагинов частенько меняется и их нужно вечно обновлять, нестандартные же плагины перестают работать в новых версиях редактора или работают нестабильно, в общем, заморочек много. Между тем, есть совсем простой путь, основанный на макросах программы, о которых тоже много написано и даже с техническими деталями, но о проблеме из заголовка статьи нигде не упоминается.
Убеждаемся, что в буфере обмена ничего нет (комбинация клавиш Ctrl+V
ничего не вставляет в документ Notepad++). Если это не так и редактор упорно что-то помнит, закройте программу, очистите буфер обмена на уровне системы (в Windows 10 - Пуск, Параметры, Система, Буфер обмена, Очистить) и снова запустите Notepad++.
Проверяем что включена нужная раскладка клавиатуры и далее действуем так:
Команда Макросы - Начать запись;
Нажимаем Ctrl+X
, имитируя действие "Вырезать";
Вводим открывающую часть тега, например, <i>
;
Нажимаем Ctrl+V
, имитируя действие "Вставить";
Вводим закрывающую часть тега, например, </i>
;
Команда Макросы - Остановить запись;
Команда Макросы - Сохранить записанный макрос..., назначаем макросу имя и горячую клавишу:
Назначаем клавиатурному макросу Notepad++ имя и горячую клавишу
После нажатия "ОК" наша новая команда появится в меню Макросы.
Подход хорош ещё и тем, что если выделенного тега нет, будет вставлено просто обрамление без содержимого внутри тега. Правда, если нет выделенного текста и буфер обмена в момент запуска макроса не пуст, то будет вставлен текст из буфера, но это не должно создавать сложностей, отмена (Ctrl+Z
) всегда под рукой.
В интернетах также советуют горячую клавишу Ctrl+L
(то есть, команду SCI_LINECUT
, удаляющую текущую строку) для очистки буфера обмена, но она, во-первых, действительно удаляет строку, во-вторых, после этого по Ctrl+V
будет вставляться разрыв строки, поэтому нам её применение при создании макросов не поможет.
Если Notepad++ "упорствует в заблуждениях", можно открыть файл XML с макросами и сделать "ручную" правку по образцу имеющихся макросов. Файл
shortcuts.xml
находится в папкеC:\Users\Имя_Пользователя\AppData\Roaming\Notepad++
Всегда полезно иметь резервную копию этого файла, если у вас есть удобные для работы макросы.
Ответ студентке в логе. Обратите внимание, что никакой проблемы в разделителе-подчёркивании Notepad++ не видит (не подчёркивает :)
Вот какие макросы для быстрого ввода тегов HTML в текст я определил в своём Notepad++:
Мои макросы Notepad++
Для тегов <p>
и <br>
макрос применяется не к выделенному фрагменту, а после перехода к началу строки клавишей Home
.
Мой файл shortcuts.xml (на 2023 год) (17 Кб)
13.11.2022, 03:06 [431 просмотр]