Перейти к содержанию
СофтФорум - всё о компьютерах и не только

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

Изменено пользователем Indomito
Ссылка на комментарий
Поделиться на другие сайты

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

  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. Могут быть "кракозябры", а могу и не быть, это естественно русские буквы ;) Изменено пользователем Indomito
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...