воскресенье, 11 апреля 2010 г.

Макросы в Notepad++

Прошу прощения за очень длинный пост.
Про макросы для Notepad++. Очень долго искал информацию по этому делу в Инете,
но так ничего не нашёл! Такое впечатление, что никто не использует эту очень
мощную фишку. Дак вот...
Первое. Не знаю, как у других, у меня макросы хранятся в файле shortcuts.xml,
который хранится прямо в каталоге самой программы. Но нужно учитывать, что при
редактировании этого файла самим Notepad'ом при выходе из программы этот файл
перезапишется. Т.е., его надо или куда-нибудь скопировать, отредактировать, а
потом перенести в каталог Notepad-а, или редактировать файл shortcuts.xml
другим редактором при закрытом Notepad-е.
Второе. Если Вы захотели создать свой макрос, просто начните запись стандартным
способом, дайте любую команду, например сдвиньте курсор, завершите запись и
сохраните её под каким-либо именем. А вот теперь открывайте shortcuts.xml и
ищите строки:
 
 

Первая строка - начало записи, третья - окончание. А вот между ними как раз и
находится содержимое самого макроса, то есть запись, что он должен выполнять.
Во второй строке вместо хххх (в message="хххх") пишем одну их этих комманд...
Вот список этих команд управления курсором в макросе Notepad++

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 - Убрать подсветку строки

Если же нужно подать комманду, дублирующую комманду из меню, применяем такой формат:



Где вместо ххххх подставляем:

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 - Очистить список недавних файлов

Должен отметить, что список далеко не полный, поэтому если кто-то его дополнит,
буду очень благодарен!

http://www.cyberforum.ru/software/thread26903.html

2 комментария:

  1. макросы смены кодировки
    дос (866)
    Action type="2" message="45058" wParam="45058" lParam="45058" sParam="45058"
    винда (1251)
    Action type="2" message="45021" wParam="45021" lParam="45021" sParam="45021"

    ОтветитьУдалить
  2. Подскажите, как запустить макрос при открытии из cmd?

    ОтветитьУдалить

Постоянные читатели