
Лучший инструмент не только деятеля интернета, но и вообще, пользователя ПК – это notepad++.
Все сталкивались с ситуацией, когда надо что-то редактировать. Это могут быть исходные коды страниц, скрипты, файлы конфигураций, списки, обыкновенные текстовые файлы.
Notepad++ представляет огромное множество инструментов для редактирования файлов. Один из самых мощных инструментов – макросы. Макросы можно записать, сохранить, затем однократно, или многократно запустить.
Единственная проблема, которую не предусмотрели разработчики – это возможность редактировать сами макросы. Нет возможности скопировать макрос, передать его другому пользователю.
Допустим, один вебмастер написал сложный макрос, упрощающий работу с текстом. А другому вебмастеру он его прислать не сможет, даже если захочет. Макрос стандартными средствами Notepad++ скопировать нельзя.
Проблема решается руками, но очень просто.
Редактирование макросов Notepad++
Текст макроса хранится в файле shortcuts.xml. А вот где хранится shortcuts.xml – зависит от вас. Если при установке поставить галочку “Don’t use %APPDATA%”, то файл будет находиться в Program Files, в противном случае – в Document and Setings/%USERNAME%/Application Data/Notepad++.
В файле находятся теги <Macros> и </Macros> . Все макросы находятся между ними.
Каждый макрос имеет структуру:
<Macro name=»First» Ctrl=»no» Alt=»no» Shift=»no» Key=»0″>
<Action type=»X» message=»XXXX» wParam=»XXX» lParam=»0″ sParam=»"/>
</Macro>
В объявлении name – это уникальное имя макроса, затем комбинация горячих клавиш.
В теле макроса, то, что между < и /> – это само действие, действий может быть сколько угодно.
Action type – это тип действия. В случае “0” – это действие относящееся к общим командам, в случае “2” – к командам, дублирующим команды меню.
Если писать общую команду, код указывается в message, а wParam принимает значение “0”.
Если писать команду, дублирующую команду меню, message принимает значение “0”, а wParam – код.
Пример: код стандартного макроса Trim Trailing and save:
Сперва он имитирует нажатие кнопок “Правка->Обрезать пробелы”, затем “Сохранить”.
Список кодов приложен в текстовом файле в конце статьи.
Для добавления нового макроса достаточно вставить его текст между тегами <Macros> и </Macros> .
Нельзя редактировать файл shortcuts.xml в редакторе Notepad++. При закрытии редактора, он перепишет файл заново. Необходимо закрыть Notepad++ и отредактировать файл обычным блокнотом.
В качестве приложения – файл с кодами команд макроса.
Список кодов команд макросов Notepad++




Отличная статья, макросы очень помогают, теперь тоже буду их использовать
Макросы записываются как в фаре, или их в виде кода ручками нужно писать?
Можно ручками, можно скопировать откуда-нибудь.
Давно пользуюсь notepad++, а макросы как-то упустил. Теперь попробую упростить пару действий.
Чего то не выходит вставить. Notepad++ после редактирования файла shortcuts.xml при запуске вообще не видит макросов, даже того, что было по умолчанию. После выхода из Notepad++ файл shortcuts.xml обнуляется, т.е. остаются только пустые внешние теги.
Что я не так делаю?
shortcuts.xml необходимо редактировать другим редактором, не notepad++. Во время редактирования файла, notepad++ должен быть закрыт, иначе он действительно сотрёт файл.
Да, я именно так и делал. Редактировал другим редактором. Обычным ноутпадом. И ++ закрыт был. Но при запуске он отредактированный файл видит как пустой и при закрытии ++ его стирает до внешних тегов.
Нашел решение: нужно было сохранять файл shortcuts.xml в формати ANSI, а не Юникод, как предложил мне ноутпад…
Подскажите, пожалуйста, на примере, как написать макрос для удаления из файла некоего текста.
Т.е. на словах это так:
1. Замена ….
2. Меняем что-то на что-то
3. Удаляем пустые строки
4. Ну и сохраняем
Татьяна,
1. Сначала производим одиночный поиск нужного фрагмента.
2. Ставим курсор в начало текста.
3. Нажимаем «Макрос->Старт записи»
4. Нажимаем «F3″
5. Нажимаем «Backspace»
6. «Макрос->Стоп записи»
После этого можем прокручивать макрос многократно. Главное следить за тем, чтоб в поле поиска было нужное значение и курсор стоял в начале текста.