Запуск внешних приложений из Notepad . NppExec: ускоряем поиск в Интернете и не только… / Хабр

Основы

Если вы запустите «notepad.exe» в командной строке или в окне «Выполнить» меню «Пуск», вы создадите новый пустой файл блокнота. Чтобы открыть определенный файл, введите ваш маршрут в качестве аргумента, как в NOTEPAD.EXE “C: MY FOLDER MY TEXT.TXT “.

Notepad и поиск в интернете

Раньше в случае возникновения вопроса мне нужно было выполнить следующие действия:

  1. Выделить фрагмент текста (или кода);
  2. Скопировать его в буфер обмена;
  3. Перейти в браузер;
  4. Вставить текст из буфера обмена в строку поиска (где предварительно должно уже было быть введено site: адрес сайта или открыт требуемый сайт);
  5. Нажать кнопку «искать» (ввод).


С помощью дополнения

это можно сделать в несколько раз быстрее. Предварительно, конечно, NppExec необходимо настроить.

Запуск команды

Когда вы используете NppExec для запуска команды, перед ее запуском устанавливаются и становятся доступными для использования следующие переменные:

CWD — текущая рабочая директория NppExec (используйте «cd» для ее изменения).ARGC — количество аргументов, переданных команде NPP_EXEC.ARGV — все аргументы, переданные команде NPP_EXEC, которые следуют после имени скрипта.

ARGV[0] — имя скрипта — первый параметр команды NPP_EXEC.ARGV[n] — n-ный аргумент (1, 2, 3…)RARGV — все аргументы в обратном порядке (за исключением имени скрипта).RARGV[n] — n-ный аргумент с конца (n, n-1, n-2, n-3…).

Если внешний процесс «знает» о NppExec, то может установить некоторые переменные для использования в NppExec (с версии 0.3.1):

OUTPUT — это значение может быть задано дочерним процессом (подробнее — в описании команды npe_console v ).OUTPUT1 — первая строка в $(OUTPUT).OUTPUTL — последняя строка в $(OUTPUT).

Использование

Теперь все, что нужно сделать — выделить фразу или слово (например, имя функции) — Shift Ctrl rightArrow — и нажать Ctrl F6. Браузер откроется на необходимой странице и отправит GET-запрос с выделенным словом в строке поиска (первый вызов Ctrl F6 аналогичен F6 — необходимо ввести или выбрать сохраненную команду, в нашем случае – php_search или mysql_search).

:/>  Composer: пакетный менеджер для PHP — Учебник по PHP — HTML Academy

В моем примере я использовал переменную окружения (переменная среды, англ. environment variable) CURRENT_WORD, но возможности дополнения NppExec гораздо шире, чем просто ускорение поиска в Интернете. C помощью этого плагина можно запускать практически любые внешние приложения и передавать им обширный ряд переменных – как собственных, так и системных переменных Windows.

Как запустить внешнюю программу из notepad

Предположим, вам необходимо запустить внешнее приложение (например, компилятор, интерпретатор или веб-браузер) из Notepad (пункт меню «Запуск»), передав текущий документ в качестве аргумента. Чтобы это сделать, вам придется использовать переменные окружения. Плагин NppExec предоставляет в этом отношении большую гибкость.

Как пользоваться:

  1. Загрузите и установите последнюю версию.

  2. Сохраните приведенный выше скрипт как npp_runline.ahk , используя ваш любимый текстовый редактор.

  3. Дважды щелкните файл, чтобы запустить скрипт.

  4. При желании скопируйте скрипт (или ссылку на него) в папку « Startup ».

Как это устроено:

  • ^F5:: указывает используемую горячую клавишу (Ctrl F5).

  • WinGetActiveTitle, Title хранит заголовок активного окна в переменной Title .

  • RegExMatch(Title, "- Notepad $") возвращает позицию крайнего левого вхождения регулярного выражения - Notepad $ (где – литерал и $ в конце строки) в Title или ноль, если совпадений нет.

    • Если есть совпадение, блок после if... выполняется:

      • SendPlay {Home} {End}{F5} имитирует нажатие Home и Shift End (выбор текущей строки без пробела), а затем F5 (открытие диалога Run...).

      • SendPlay cmd /D "%windir%/system32" /K "$(CURRENT_WORD)" вводит именно это в диалог ” Run... .

      • SendPlay {Enter} имитирует нажатие Enter (завершение диалога Run...).

    • Если совпадения нет, то блок , следующий else запускается на выполнение:

      • SendPlay ^{F5} имитирует нажатие клавиш Ctrl F5 (отступление, если нам нужен ярлык вне Notepad ).
  • return прекращает выполнение скрипта в текущей точке.

:/>  С помощью какой команды можно посмотреть все свойства учетной записи в режиме командной строки

Может кто подскажет как запустить пакетный файл из notepad

Я думал, что могу запустить пакетный файл из Notepad напрямую, используя nppexec (или встроенную команду run), введя CMD $(FULL_CURRENT_PATH)

но поскольку notepad имеет команду CMD (которая открывает оболочку cmd в консоли npp), то она не работает. Таким образом, выполнение вышеуказанной команды открывает cmd shell в консоли npp, но не запускает пакетный файл. В этот момент я могу запустить $(FULL_CURRENT_PATH), и он запустит пакетный файл. Но тогда я должен напечатать exit, чтобы получить наш режим командной оболочки.

может кто-нибудь сказать мне, как запустить пакетный файл я текущее редактирование в АЭС непосредственно в АЭС.

Настройка

Нажимаем F6.

В поле Command(s) вводим следующее:

C:…chrome.exe php.net/manual-lookup.php?function=”$(CURRENT_WORD)”〈ru

(вместо троеточия вставляем полный путь к exe-шнику требуемого браузера).

Сохраняем: Save… – php_search

Открыть как ascii

Все файлы, которые Блокнот читает и пишет, представляют собой обычный текст, но они могут использовать разные наборы символов. Шаблон «Блокнот» – это набор символов Unicode, который допускает 65 536 различных символов, включая наборы для разных языков.

Переменные окружения уровня документа


Существуют следующие переменные:

CURRENT_WORD — содержит слово (слова), которое в текущий момент выделено в Notepad . CURRENT_LINE — содержит номер строки Notepad , на которой в данный момент находится курсор. CURRENT_COLUMN — содержит номер колонки Notepad , на которой в данный момент находится курсор. NPP_DIRECTORY — содержит абсолютный путь к системной директории Notepad .

Дополнительные переменные, доступные с помощью плагина NppExec:

PLUGINS_CONFIG_DIR — полный путь к конфигурационной директории, в которой находятся файлы плагинов.#N — полный путь к n-ному открытому документу (n = 1, 2, 3 …).#0 — Полный путь к файлу notepad .exe.LEFT_VIEW_FILE — путь к файлу, открытому в главном (левом)

:/>  Как пользоваться дир на компьютере и откуда он появляется? Где находится вводная программа для работы с компьютера

окне Notepad .RIGHT_VIEW_FILE — путь к файлу, открытому в дополнительном (правом) окне Notepad .Если вы знаете, в какой директории находится плагин, вы можете вызвать любую функцию этого плагина, передав в rundll.exe имя плагина, имя функции и, если требуется, аргументы. Или же выгрузить плагин командой regsvr /u.

Примеры

Переменные окружения файлового уровня

Использование переменной окружения:

$(ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ)

Например, текущий файл, который вы редактируете в Notepad — «E:my Webmainwelcome.html».

Ниже приведены некоторые переменные окружения, содержащие информацию о текущей сессии:

FULL_CURRENT_PATH — «E:my Webmainwelcome.html».CURRENT_DIRECTORY — «E:my Webmain».FILE_NAME — «welcome.html». NAME_PART — «welcome».EXT_PART — «html». SYS.<переменная> — имя системной переменной окружения, например, $(SYS.PATH).

Переменные стоит обрамлять двойными кавычками, поскольку они могут содержать пробелы:

“$(ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ)”

Примеры

firefox “$(FULL_CURRENT_PATH)”iexplore “$(FULL_CURRENT_PATH)”

Эти две пользовательские команды также включены в Notepad 3.0 и в более поздние версии. Их можно запустить, нажав Ctrl Alt Shift X и Ctrl Alt Shift I соответственно.

Печать

Командная строка Блокнота поддерживает некоторые параметры печати. Первым основным параметром является / P, который отправляет файл на системный принтер по умолчанию: NOTEPAD.EXE / P “C: MY FOLDER MY TEXT.TXT “. Второй – параметр / PT, который позволяет пользователю указать принтер, который он хочет использовать: NOTEPAD.EXE / PT “C:

Скрипт autohotkey:

^F5::
WinGetActiveTitle, Title
if RegExMatch(Title, "- Notepad $")
{ SendPlay {Home} {End}{F5} SendPlay cmd /D "%windir%/system32" /K "$(CURRENT_WORD)" SendPlay {Enter}
}
else SendPlay ^{F5}
return

Установка nppexec

Плагины->Plugin Manager->Show Plugin Manager->NppExec->Install. Перезапускаем Notepad .