Как-то неглобальненько у Вас получается . Я Notepad++ совершенно не пользую, однако, загрузив последнюю версию, прочитал руководство «C:\Program Files\Notepad++\plugins\doc\NppExec_Guide.txt». Прошу Вас, по возможности, проверить и отписаться по результатам. Итак:
В комплекте поставки текущей версии Notepad++ (5.3.1) присутствует плагин NppExec версии 0.3. Используем его функциональность (как описано в документации к плагину в «%ProgramFiles%\Notepad++\plugins\doc\NppExec_Guide.txt») для вызова контекстной справки из соответствующих файлов документации.
1. Создаём глобальный скрипт NppExec.
Выбираем в меню \Дополнения\NppExec\Execute… (\Plugins\NppExec\Execute…) или нажимаем клавишу F6. В открывшемся окне Execute… в поле Command(s): вводим текст скрипта:
NPP_EXEC "$(PLUGINS_CONFIG_DIR)\RunHelpOnLanguage\RunHelpOnLanguage$(EXT_PART).nes"
Нажимаем кнопку Save…, чтобы сохранить введённый скрипт. В открывшемся окне в поле Script name: вводим текст RunHelpOnLanguage.nes и нажимаем кнопку Save. Скрипт сохранён.
Примечание: скрипт NppExec сохраняется в Unicode-формате в файл %AppData%\Notepad++\plugins\config\npes_saved.txt в виде:
::RunHelpOnLanguage.nes
NPP_EXEC "$(PLUGINS_CONFIG_DIR)\RunHelpOnLanguage\RunHelpOnLanguage$(EXT_PART).nes"
Нажимаем кнопку OK и в открывшейся панели консоли плагина видим результат:
NPP_EXEC: "C:\Documents and Settings\***\Application Data\Notepad++\plugins\Config\RunHelpOnLanguage\RunHelpOnLanguage..nes"
- can not open specified file or it is empty
================ READY ================
Всё правильно: наш сохранённый скрипт исполняется, но пока не может найти требуемого зависимого файла, поскольку они у нас ещё не созданы.
2. Загружаем и устанавливаем приложение KeyHH 1.1. Оно нам потребуется, чтобы можно было осуществлять поиск по ключевым словам в файлах справки из командной строки.
3. Создаём зависимые скрипты NppExec.
В папке %AppData%\Notepad++\plugins\config создаём папку RunHelpOnLanguage. В созданной папке создаём зависимые файлы скриптов для каждой пары расширение «файла-файл справки». Рассмотрим сие на таком примере: создадим зависимые скрипты для расширений .vbs (скрипты VBScript Windows Script Host)/.js (скрипты JScript Windows Script Host) и AutoHotKey.
В созданной ранее папке %AppData%\Notepad++\plugins\config\RunHelpOnLanguage создаём файл RunHelpOnLanguage.vbs.nes в Unicode-формате. Записываем в него следующее содержимое (предполагается, что Вы уже загрузили и установили файл справки Windows Script Host Documentation):
NPP_RUN "$(SYS.SystemRoot)\KeyHH.exe" -MyHelpWindowWSH -#klink "$(CURRENT_WORD)" "$(SYS.ProgramFiles)\Microsoft Windows Script\ScriptDocs\Script56.CHM"
и сохраняем.
Примечание: для каждой справки лучше указывать уникальный идентификатор окна, как это было сделано выше — «-MyHelpWindowWSH». Для vbs/js, поскольку используется один и тот же файл справки, можно указать общий идентификатор.
Таким же образом в той же папке создаём файл RunHelpOnLanguage.js.nes и записываем в него аналогичное содержимое.
Проверим, что у нас получилось. Для этого создадим в Notepad++ простой скрипт VBScript:
WScript.Echo "Hello World!"
и сохраним его с расширением «vbs». Затем, поместив курсор на ключевое слово «Echo», выполним команду меню \Дополнения\NppExec\Execute… (\Plugins\NppExec\Execute…) или нажмём клавишу F6. В открывшемся окне Execute… выберем в раскрывающемся списке наш скрипт RunHelpOnLanguage.nes и нажмём кнопку OK. В результате, если мы всё сделали правильно, должно открыться окно справки Windows Script Host на вкладке «Указатель», будет выбрано ключевое слово Echo method (поскольку нет полного совпадения с ключевым словом), и нам останется только нажать Enter, чтобы перейти к соответствующей статье справки.
Аналогично создаём файл RunHelpOnLanguage.ahk.nes, содержимое которого будет выглядеть так:
NPP_RUN "$(SYS.SystemRoot)\KeyHH.exe" -MyHelpWindowAHK -#klink "$(CURRENT_WORD)" "$(SYS.ProgramFiles)\AutoHotkey\AutoHotkey.chm"
Проверяем. Создаём файл следующего содержания:
и сохраняем его с расширением «ahk». Помещаем курсор на слово MsgBox, нажимаем клавишу F6 и выполняем наш скрипт RunHelpOnLanguage.nes. Видим, что в этом случае, поскольку ключевое слово полностью совпадает с поисковым (MsgBox), сразу будет открыта соответствующая статья справки.
4. Для того, чтобы упростить вызов справки, добавим наш скрипт в меню и назначим ему горячую клавишу F1.
Сначала откроем меню \Дополнения\NppExec\Advanced Options… (\Plugins\NppExec\Advanced Options…). В открывшемся окне NppExec Advanced Options в группе Menu item в раскрывающемся списке Associated script: выберем наш скрипт RunHelpOnLanguage.nes и, исправив имя в поле Item name: на «Help On Language», нажмём кнопку Add/Modify, затем кнопку OK. Плагин предупредит нас, что потребуется перезапуск редактора. Перезапустим Notepad++ и убедимся в том, что в меню \Дополнения\NppExec\ (\Plugins\NppExec\) появился созданный нами пункт меню «Help On Language».
Примечание: добавленный пункт меню содержится в файле %AppData%\Notepad++\plugins\config\NppExec.ini в виде:
[UserMenu]
0="Help On Language :: RunHelpOnLanguage.nes"
Теперь освободим текущее назначение горячей клавиши F1: откроем меню \Опции\Горячие клавиши… (\Settings\Shortcut Mapper…), на вкладке Main menu сделаем двойной щелчок по пункту О программе… (About…), в открывшемся окне Shortcut в раскрывающемся списке вместо F1 выберем None и нажмём кнопку OK. Затем перейдём на вкладку Plugin commands, найдём нашу команду Help On Language, сделаем по ней двойной щелчок мышкой и назначим клавишу F1.
Теперь можно закрыть все диалоговые окна и проверить работоспособность назначенной горячей клавиши F1.
5. Мелкие штрихи.
Попробуем несколько расширить функциональность нашего скрипта. Добавим в папку %AppData%\Notepad++\plugins\config\RunHelpOnLanguage файл RunHelpOnLanguage.nes (не забывая про Unicode) следующего содержания:
ECHO Сначала сохраните файл с требуемым расширением!
Теперь, при попытке нажать F1 в окне нового и ещё не сохранённого файла (т.е. пока не имеющего расширения) мы увидим в окне консоли не непонятное сообщение об отсутствующем или пустом файле, а вполне внятное сообщение с призывом к действию:
NPP_EXEC: "RunHelpOnLanguage.nes"
NPP_EXEC: "C:\Documents and Settings\***\Application Data\Notepad++\plugins\Config\RunHelpOnLanguage\RunHelpOnLanguage.nes"
Сначала сохраните файл с требуемым расширением!
================ READY ================
P.S. Если всё пройдёт нормально — полноценное выделение/раскраску в текст добавлю позже.