БлогNot. Notepad++: как автоматизировать обрамление выделенного текста другим

Notepad++: как автоматизировать обрамление выделенного текста другим

Например, мы хотим, чтобы в Notepad++ выделенный текст обрамлялся тегом HTML по нажатию горячей клавиши, то есть, строка превращалось в <i>строка</i> . Возможны и другие применения.

В интернетах обычно советуют ставить какой-нибудь плагин и настраивать его, но набор стандартных плагинов частенько меняется и их нужно вечно обновлять, нестандартные же плагины перестают работать в новых версиях редактора или работают нестабильно, в общем, заморочек много. Между тем, есть совсем простой путь, основанный на макросах программы, о которых тоже много написано и даже с техническими деталями, но о проблеме из заголовка статьи нигде не упоминается.

Убеждаемся, что в буфере обмена ничего нет (комбинация клавиш Ctrl+V ничего не вставляет в документ Notepad++). Если это не так и редактор упорно что-то помнит, закройте программу, очистите буфер обмена на уровне системы (в Windows 10 - Пуск, Параметры, Система, Буфер обмена, Очистить) и снова запустите Notepad++.

Проверяем что включена нужная раскладка клавиатуры и далее действуем так:

Команда Макросы - Начать запись;

Нажимаем Ctrl+X , имитируя действие "Вырезать";

Вводим открывающую часть тега, например, <i> ;

Нажимаем Ctrl+V , имитируя действие "Вставить";

Вводим закрывающую часть тега, например, </i> ;

Команда Макросы - Остановить запись;

Команда Макросы - Сохранить записанный макрос..., назначаем макросу имя и горячую клавишу:

Назначаем клавиатурному макросу Notepad++ имя и горячую клавишу
Назначаем клавиатурному макросу Notepad++ имя и горячую клавишу

После нажатия "ОК" наша новая команда появится в меню Макросы.

Подход хорош ещё и тем, что если выделенного тега нет, будет вставлено просто обрамление без содержимого внутри тега. Правда, если нет выделенного текста и буфер обмена в момент запуска макроса не пуст, то будет вставлен текст из буфера, но это не должно создавать сложностей, отмена (Ctrl+Z) всегда под рукой.

В интернетах также советуют горячую клавишу Ctrl+L (то есть, команду SCI_LINECUT, удаляющую текущую строку) для очистки буфера обмена, но она, во-первых, действительно удаляет строку, во-вторых, после этого по Ctrl+V будет вставляться разрыв строки, поэтому нам её применение при создании макросов не поможет.

Если Notepad++ "упорствует в заблуждениях", можно открыть файл XML с макросами и сделать "ручную" правку по образцу имеющихся макросов. Файл shortcuts.xml находится в папке C:\Users\Имя_Пользователя\AppData\Roaming\Notepad++

Всегда полезно иметь резервную копию этого файла, если у вас есть удобные для работы макросы.

Ответ студентке в логе. Обратите внимание, что никакой проблемы в разделителе-подчёркивании Notepad++ не видит (не подчёркивает :)
Ответ студентке в логе. Обратите внимание, что никакой проблемы в разделителе-подчёркивании Notepad++ не видит (не подчёркивает :)

Вот какие макросы для быстрого ввода тегов HTML в текст я определил в своём Notepad++:

Мои макросы Notepad++
Мои макросы Notepad++

Для тегов <p> и <br> макрос применяется не к выделенному фрагменту, а после перехода к началу строки клавишей Home.

 Мой файл shortcuts.xml (на 2023 год) (17 Кб)

13.11.2022, 03:06 [317 просмотров]


теги: textprocessing windows html софт xml макрос

К этой статье пока нет комментариев, Ваш будет первым