Jump to content
СофтФорум - всё о компьютерах и не только

Notepad++ создание и редактирование макросов


Recommended Posts

Редактирование макросов 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 – код.
 
Для добавления нового макроса достаточно вставить его текст между тегами  <Macros> и </Macros> .
 

Нельзя редактировать файл shortcuts.xml в редакторе Notepad++.

При закрытии редактора, он перепишет файл заново. Необходимо закрыть Notepad++ и отредактировать файл обычным блокнотом.
 
Список кодов команд макросов Notepad++ или под спойлером


Общие команды (писать в message, wParam="0") 

 
2300 - Курсор вниз
2301 - Курсор вниз с выделением
2302 - Курсор вверх
2303 - Курсор вверх с выделением
2304 - Курсор на одну позицию влево
2305 - Курсор на одну позицию влево с выделением
2306 - Курсор на одну позицию вправо
2307 - Курсор на одну позицию вправо с выделением
2308 - Переместить курсор на начало слова (влево)
2309 - Переместить курсор на начало слова (влево) с выделением
2310 - Переместить курсор на начало след. слова (вправо)
2311 - Переместить курсор на начало след. слова (вправо) с выделением
2312 - Курсор в начало строки
2313 - Курсор в начало строки с выделением
2314 - Курсор в конец строки
2315 - Курсор в конец строки с выделением
2316 - Курсор в начало текста
2317 - Курсор в начало текста с выделением
2318 - Курсор в конец текста
2319 - Курсор в конец текста с выделением
2320 - Курсор в первую строку с сохранением позиции
2321 - Курсор в первую строку с сохранением позиции с выделением
2322 - Курсор в конец текста
2323 - Курсор в конец текста с выделением
2324 - Изменить режим редактирования - Вставка или замена
2326 - Удалить одну позицию влево (BKSP)
2327 - TAB
2328 - Курсор влево на одну позицию табуляции
2329 - Перевод строки (ENTER)
2330 - Вставка в текст кода 12 (0CH)
2331 - Курсор в начало строки
2332 - Курсор в начало строки с выделением
2333 - Текст крупнее
2334 - Текст мельче
2335 - Удалить от курсора до начала текущего слова
2336 - Удалить от курсора до начала след. слова
2337 - Вырезать текущую строку в буфер обмена
2338 - Удалить текущую строку
2339 - Поднять текущую строку
2342 - Скролл текста вниз с сохранением позиции курсора
2343 - Скролл текста вверх с сохранением позиции курсора
2344 - Удалить одну позицию влево (BKSP)
2345 - Курсор в начало строки
2346 - Курсор в начало строки с выделением
2347 - Курсор в конец строки
2348 - Курсор в конец строки
2349 - Курсор в начало строки
2358 - Скрыть весь текст
2373 - Размер текста по умолчанию
2390 - Курсор влево на начало или конец слова
2391 - Курсор влево на начало или конец слова с выделением
2392 - Курсор вправо на начало или конец слова
2393 - Курсор вправо на начало или конец слова с выделением
2395 - Удалить от курсора до начала строки
2396 - Удалить от курсора до конца строки
2404 - Продублировать текущую строку
2413 - Курсор на след. фрагмент
2414 - Курсор на след. фрагмент с выделением
2415 - Курсор на пред. фрагмент
2416 - Курсор на пред. фрагмент с выделением
2426 - Курсор вниз
2427 - Курсор вверх
2428 - Курсор на одну позицию влево с выделением
2429 - Курсор на одну позицию вправо с выделением
2430 - Курсор в начало строки с выделением
2432 - Курсор в конец строки с выделением
2433 - Курсор в первую строку с сохранением позиции.
Если курсор сместился, с выделением блока
2434 - Курсор на хх (хх - кол-во строк на экране) строк вниз с сохранением позиции.
Если курсор сместился, с выделением блока
2435 - Курсор на верхнюю строку на экране
2436 - Курсор на верхнюю строку на экране с выделением
2437 - Курсор на нижнюю строку на экране, или на след. экран в нижнюю строку
2438 - Курсор на нижнюю строку на экране, или на след. экран в нижнюю строку с выделением
2439 - Курсор влево на конец пред. слова
2440 - Курсор влево на конец пред. слова с выделением
2441 - Курсор вправо на конец след. слова
2442 - Курсор вправо на конец след. слова с выделением
2450 - Курсор в начало строки с выделением
2451 - Курсор в конец строки
2452 - Курсор в конец строки с выделением
2453 - Курсор в начало строки
2454 - Курсор в конец строки с выделением
2455 - Скопировать текущую строку в буфер
2469 - Продублировать текущую строку
2470 - Убрать подсветку строки
 
Дублирующие команды меню (писать в wParam, message="0")
 
41001 - Новый
41002 - Открыть
41003 - Закрыть
41004 - Закрыть все
41005 - Закрыть все, кроме активного
41006 - Сохранить
41007 - Сохранить все
41008 - Сохранить как...
41010 - Печать...
1001 - Быстрая печать
41011 - Выход
41012 - Загрузить сессию...
41013 - Сохранить сессию...
41014 - Перезагрузить с диска
 
42001 - Вырезать
42002 - Копировать
42003 - Отмена
42004 - Повтор
42005 - Вставить
42006 - Удалить
42007 - Выделить всё
42008 - Вставить Tab (Отступ)
42009 - Удалить Tab (Втяжка)
42010 - Дублировать строку
42012 - Разбить строки
42013 - Объединить строки
42014 - Поднять текущую строку
42015 - Опустить текущую строку
42016 - ПРОПИСНЫЕ
42017 - строчные
42018 - Старт записи
42019 - Стоп записи
42021 - Прокрутить запись
42022 - Блоковый комментарий
42023 - Потоковый комментарий
42024 - Обрезать пробелы
42025 - Сохранить запись макро...
42026 - Текст справа налево
42027 - Текст слева направо
42028 - Только чтение
42029 - Копировать путь и имя файла в буфер обмена
42030 - Копировать имя файла в буфер обмена
42031 - Копировать путь к файлу в буфер обмена
42032 - Запустить многократно...
42033 - Снять флаг "только чтение"
 
43001 - Поиск...
43002 - Искать далее
43003 - Замена...
43004 - Переход к...
43005 - Закладки
43006 - Следующая...
43007 - Предыдущая...
43008 - Очистить все закладки
43009 - Сопоставить скобку
43010 - Искать ранее
43011 - Поиск по мере набора...
43013 - Найти в файлах
43014 - Найти такое же слово
43015 - Такое же предыдущее
43016 - Выделить все
43017 - Снять выделение
 
44010 - Свернуть все
44011 - Личные опции
44019 - Все символы
44020 - Значения отступов
44022 - Перенос строк
44023 - Крупнее
44024 - Мельче
44025 - Пустые пробелы и Tab
44026 - Символ конца строки
44029 - Развернуть все
44030 - Свернуть текущий фрагмент
44031 - Развернуть текущий фрагмент
44032 - Во весь экран
44033 - Восстановить масштаб...
44034 - Всегда сверху
44035 - Синхронизировать вертикальную полосу прокрутки
44036 - Синхронизировать горизонтальную полосу прокрутки
44041 - Показывать символ перевода строки
 
45001 - Преобразовать в Win-формат
45002 - Преобразовать в UNIX-формат
45003 - Преобразовать в MAC-формат
45004 - Кодировать в ANSI
45005 - Кодировать в UTF-8
45006 - Кодировать в UCS-2 Big Endian
45007 - Кодировать в UCS-2 Little Endian
45008 - Кодировать в UTF-8 (без BOM)
 
10001 - Вторым окном
10002 - Копировать во второе окно
 
46001 - Определение стилей...
47000 - О программе...
47001 - Домашняя страница Notepad++
47002 - Notepad++ : страница проекта
47003 - Помощь в Интернет
47004 - Форум
47005 - Больше дополнений
 
48009 - Горячие клавиши...
48011 - Настройки...
49000 - Запуск...
 
50000 - Завершение функций
50001 - Завершение слов
42034 - Редактор столбцов...
44042 - Спрятать строки
42040 - Открыть все недавние файлы
49000 - Запуск...
 
50000 - Дополнение функций
50001 - Дополнение слов
42034 - Редактор колонок...
44042 - Спрятать строки
42040 - Открыть все недавние файлы
42041 - Очистить список недавних файлов


Мне, то что я тут написал, очень помогло при написании скриптов, когда надо было передавать параметр исполняемому файлу - просто не удобно искать редактируемый файл "на просторах HDD", особенно когда их много, а где лежит скрипт уже не помнишь, хотя это можно посмотреть, но так(написать макрос на исполнение текущего редактируемого файла) оказалось намного проще - нажал и  файл выполняется
 
Удачи  :bye1:

Edited by Indomito
Link to comment
Share on other sites

Да, забыл написать.
 
Есть более простой способ для запуска текущего файла:

  1. Находим концовку секции макросов <Macros />
  2. Находим начало секции пользовательских определений/команд <UserDefinedCommands>
  3. И пишем например так: 

<Macros />

    <UserDefinedCommands>
        <Command name="Запуск текущего AHK файла" Ctrl="no" Alt="no" Shift="no" Key="120">"C:\Program Files (x86)\AutoHotkey\AutoHotkey.exe" "$(FULL_CURRENT_PATH)"</Command>
         ..... тут другие команды......
    </UserDefinedCommands>



" - это кавычки, можно поставить и их, но нет гарантии, что Notepad++ поймёт... у меня понимает и так и так.
 
P.S. Могут быть "кракозябры", а могу и не быть, это естественно русские буквы ;) Edited by Indomito
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...