.Language=Russian,Russian (Русский) .PluginContents=FAR Commands @Contents $ #FAR Commands# Плагин FAR Commands (или FARCmds) предоставляет дополнительные возможности, которые можно использовать в меню пользователя, ассоциациях файлов или командной строке. ~Синтаксис~@Syntax@ ~"Такой же каталог"~@TheSameCatalogue@ ~Настройка FAR Commands~@Config@ @Syntax $ #Синтаксис FARCmds #Синтаксис# :[] или :[] где, ## - всегда #far# ## - одно из следующих значений: ~view~@View@ - просмотр ~edit~@Edit@ - редактирование ~goto~@Goto@ - переход к нужному файлу или каталогу ~clip~@Clip@ - помещение данных в буфер обмена ~whereis~@WhereIs@ - поиск и переход на указанный объект ~macro~@Macro@ - работа с макросами ~link~@Link@ - создание линков ~run~@Run@ - выполнение команд ~load~@Load@ - загрузить плагин ~unload~@Unload@ - выгрузить плагин ## - относится к команде "edit"; может быть: #[строка]# #[строка,колонка]# квадратные скобки обязательны ## - одно из следующих значений: #имя файла# - имя файла для просмотра, редактирования, перехода. #путь# - путь для перехода к нужному каталогу или файлу. #<команда# - ~перехватить вывод~@Direction@ команды операционной системы. Символ #<# обязателен. #<<команда# - ~перехватить вывод~@Direction@ команды операционной системы. Символы #<<# обязательны. Примечание: команда может быть выполнена в каталоге, отличном от текущего, при указании данного параметра (заключенного в символы #'|'#). Пример: '#edit:<|%TEMP%|dir#'. Команды #load# и #unload# доступны только в Unicode-версии (для FAR 2.x) См. также: ~Содержание~@Contents@ | ~Замечания~@Remark@ @Load $ #Команда Load# Команда #load# позволяет загрузить плагин #имя_DLL_модуля#. #far:load имя_DLL_модуля# #load:имя_DLL_модуля# Команда доступна только в Unicode-версии (для FAR 2.x) См. также: ~Unload~@Unload@ | ~Замечания~@Remark@ @Unload $ #Команда Unload# Команда #unload# позволяет загрузить плагин #имя_DLL_модуля#. #far:unload имя_DLL_модуля# #unload:имя_DLL_модуля# Команда доступна только в Unicode-версии (для FAR 2.x) См. также: ~Load~@load@ | ~Замечания~@Remark@ @Clip $ #Команда Clip# Команда #clip# позволяет поместить данные в буфер обмена Windows. Под данными подразумевается содержимое указанного файла или вывод от какой-либо программы. В буфер обмена помещаются все данные до символа с кодом #0x00#, максимум - 1 Mb. #far:clip имяфайла# или #clip:имяфайла# См. также: ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ @Run $ #Команда Run# Команда #run# позволяет выполнить #команду# операционной системы с перехватом ее вывода в заданный файл #"имяфайла"#. Результат может быть параллельно выведен на экран либо скрыт от пользователя, используя модификаторы ~перехвата вывода~@Direction@. #far:run имяфайла<команда# #run:имяфайла<команда# См. также: ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ @View $ #Команда View# Команда #view# позволяет открыть для просмотра во ~встроенном вьювере~@:Viewer@ заданный файл "#имяфайла#": #far:view имяфайла# или #view:имяфайла# См. также: ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ @Edit $ #Команда Edit# Команда #edit# позволяет открыть для редактирования во ~встроенном редакторе~@:Editor@ заданный файл "#имяфайла#". Команда может вызываться тремя способами: 1. Открыть файл на редактирование #far:edit имяфайла# или #edit:имяфайла# 2. Открыть файл на редактирование и перейти на строку "#[строка]#" #far:edit[строка] имяфайла# или #edit:[строка] имяфайла# 3. Открыть файл на редактирование и перейти в заданную позицию. #far:edit[строка,колонка] имяфайла# или #edit:[строка,колонка] имяфайла# Если файл "#имяфайла#" не существует, то он создается. Если после создания и выхода из редактора файл не изменен, то он удаляется (поведение приближено к Shift-F4). Если имя файла содержит квадратные скобки, например, "[1].txt", то для корректного открытия такого файла в редакторе необходимо перед именем выставить хотя бы один разделитель (например, пробел) или взять имя файла в двойные кавычки: edit: [1].txt edit:"[1].txt" См. также: ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ @Goto $ #Команда Goto# Команда #goto# позволяет перейти к заданному файлу или каталогу одним из 2-х способов: 1. Путь к файлу или каталогу указывается непосредственно в команде #far:goto путь# или #goto:путь# 2. Путь к файлу или каталогу берется из заданного файла "#имяфайла#" #far:goto <имяфайла# или #goto: <имяфайла# Если параметр "#путь#" указывает имя каталога, заканчивающееся символом '#\#', то плагин переходит в каталог "#путь#". Если имя каталога, указанное в параметре "#путь#", не заканчивается '#\#', то на каталоге #путь# устанавливается курсор в панелях. Из файла "#имяфайла#" считывается максимум 1299 байт для имени пути к каталогу или файлу. При выключенных панелях курсор на нужный объект не устанавливается, происходит только переход в нужный каталог. См. также: ~Содержание~@Contents@ | ~Замечания~@Remark@ @Link $ #Команда Link# Команда #link# позволяет создавать и удалять ~связи~@:HardSymLink@ для файлов и каталогов. Для файлов создаются жесткие связи, для каталогов - связь каталогов (т.н. "junction"). С помощью команды "link" также можно монтировать локальные диски на файловую систему (т.н. "volume mount points") #far:link [/msg] [/n] [/s] источник назначение# или #link:[/msg] [/n] [/s] источник назначение# Если "источник": #Файл# - создается жесткая связь #Каталог# - создается символическая связь #Диск# - монтируется диск, если "диск" последовательность 'буква_диска' ':' '\', например, "C:\" Ключ #/msg# служит для вывода сообщений об ошибках. Ключ #/n# отключает автоматическое обновление панелей после создания связей. Ключ #/s# создает символическую ссылку-файл (вместо жесткой связи) или ссылку-каталог (вместо связи каталогов). Ключ актуален в Windows Vista или выше. Игнорируется при монтировании дисков. Монтированные диски (volume mount points) - особенность Windows 2000/XP, которая позволяет отображать отдельные диски на каталоги. Например, можно иметь всего один диск C: и к нему подмонтировать /cdrom (диск E:) и /home (диск D:) - получается один корень. См. также: ~Содержание~@Contents@ | ~Замечания~@Remark@ @WhereIs $ #Команда WhereIs# Команда #whereis# ищет указанный объект и в случае удачного поиска переходит к нему. #far:whereis имяфайла# или #whereis:имяфайла# Поиск осуществляется в следующем порядке: 1. Текущий каталог 2. Каталог, на который указывает переменная среды %FARHOME% 3. Каталоги, которые перечислены в переменной окружения #PATH# 4. Windows 95: Системный каталог Windows (SYSTEM). Windows NT: 32-битный системный каталог Windows (SYSTEM32) 5. Windows NT: 16-битный системный каталог Windows (SYSTEM) 6. Каталог Windows. 7. Содержимое ветки реестра: #HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths# 8. Содержимое ветки реестра: #HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths# При выключенных панелях курсор на нужный объект не устанавливается, происходит только переход в нужный каталог. См. также: ~Содержание~@Contents@ | ~Замечания~@Remark@ @Macro $ #Команда Macro# Команда #macro# позволяет загрузить макросы из реестра или сохранить макросы в реестр, а также передать в FAR Manager последовательность клавиш для последующего исполнения. 1. Загрузить макросы из реестра: #far:macro load# или #macro:load# 2. Сохранить макросы в реестр: #far:macro save# или #macro:save# 3. Передать последовательность клавиш: #far:macro post sequence# или #macro:post sequence# Здесь "sequence" - последовательность названий клавиш в том виде, как их хранит FAR Manager в реестре. Например: macro:post F4 F12 0 Tab F4 F12 0 Последовательность переданных клавиш исполняется только после того, как FAR Manager получит управление. 4. Проверить синтаксис макропоследовательности #far:macro check sequence# или #macro:check sequence# В случае ошибок в "sequence" будет выведено сообщение с указанием типа ошибки и позиции в последовательности. Команда #check# доступна только в Unicode-версии (для FAR 2.x) См. также: ~Содержание~@Contents@, ~Макросы~@:KeyMacroCmds@ @Direction $ #Перехват вывода# Плагин умеет перехватывать вывод заданной команды #"<команда"# или #"<<команда"#. #команда# - #[stream][mode][|путь|]command#. #stream# - управление перехватом вывода #команды#. #1# - перехватывать только стандартный поток вывода #stdout#. #2# - перехватывать только стандартный поток вывода ошибок #stderr#. #*# - перехватывать и #stderr# и #stdout# как один поток. #?# - перехватывать #stderr# и #stdout# как разные потоки. В командах ~view~@View@ и ~edit~@Edit@ перехваченные потоки будут открыты в разных окнах. В других командах равносильно #*#. #mode# - управление выводом #команды# на экран в обход стандартных потоков ввода/вывода. #># - игнорировать консольный вывод выполняемой программы и отобразить только сообщение о ее выполнении. #<# - сохранять консольный вывод и сделать его доступным для просмотра по #Ctrl-O#, #+# - аналогична #<#, но выводит на экран не только консольный, но и перехватываемый вывод выполняемой программы. #|путь|# - команда может быть выполнена в каталоге, отличном от текущего, при указании данного параметра (заключенного в символы #'|'#). Пример: '#edit:<|%TEMP%|dir#'. Значение параметров #stream# и #mode# по умолчанию может быть задано в ~настройках плагина~@Config@. Результат работы команды помещается во временный файл. После отработки команды результирующий файл может быть сохранен на диске: #far:run имяфайла<команда# #run:имяфайла<команда# либо открыт: во вьювере #far:view <команда# #view:<команда# или в редакторе #far:edit <команда# #edit:<команда# #far:edit[строка] <команда# #edit:[строка] <команда# #far:edit[строка,колонка] <команда# #edit:[строка,колонка] <команда# или содержимое результирующего файла может быть помещено в буфер обмена #far:clip <команда# #clip:<команда# Замечания: 1. Всё, что расположено после символа '#<#' и необязательных модификаторов, передается командному процессору (%COMSPEC%). 2. Временный файл будет автоматически удален, если больше не нужен FAR`у. 3. Некоторые программы осуществляют вывод на экран не через стандартный поток вывода, перехватываемый плагином, а непосредственно на консоль. Чтобы сохранить консольный вывод и сделать его доступным для просмотра по #Ctrl-O#, или наоборот, игнорировать его, используйте модификаторы '#<#', '#>#' и '#+#'. Данное поведение может быть закреплено как поведение по умолчанию в ~настройках плагина~@Config@. 4. Если параметр stream равен 1 или 2 то начало имени команды должно быть обязательно отделено от него каким нибудь символом. Примеры: выполнить команду 1 с выводом результата в редакторе edit:<1 возможные случаи с параметром stream=1 edit:<1 1 edit:<1"1" edit:<1+1 edit:<1|%TEMP%|1 См. также: ~Содержание~@Contents@ | ~Синтаксис~@Syntax@ @TheSameCatalogue $ #"Такой же каталог"# Для того, чтобы установить для пассивной панели такой же каталог, как и на активной панели, необходимо из ~меню плагинов~@:Plugins@ или ~меню дисков~@:DriveDlg@ выбрать пункт "#Такой же каталог#" ("Same Directory") См. также: ~Содержание~@Contents@ | ~Настройка~@Config@ @Remark $ #Замечания# 1. Для префикса #far# имена команд можно сокращать до первой буквы. 2. Допускается заключать в кавычки параметры #имяфайла#, #путь# и #команда#. 3. Допускается использование переменных окружения. 4. Если Вы ошибетесь в наборе, то появится подсказка. 5. В качестве #команды# могут использоваться консольные алиасы (Консольные алиасы - "макросы" созданные командой DOSKEY) См. также: ~Содержание~@Contents@ @Config $ #Настройка FAR Commands# #"Добавить "Такой же каталог"# Добавляет в ~меню плагинов~@:Plugins@ команду #в меню плагинов"# ~установки~@TheSameCatalogue@ на пассивной панели такого же каталога, как и на активной. #"Добавить "Такой же каталог"# Добавляет в ~меню дисков~@:DriveDlg@ команду #в меню дисков"# ~установки~@TheSameCatalogue@ на пассивной панели такого же каталога, как и на активной. #Экранный вывод внешних команд# Управление выводом программ на экран: #Скрывать экранный вывод# Позволяет скрыть вывод программы. #внешних команд# Будет отображаться только сообщение о размере перехваченного вывода. Аналогично использованию #<># вместо #<#. #Сохранять экранный вывод# Позволяет сохранить для просмотра по #внешних команд# #Ctrl-O# текст, который программы выводят непосредственно на консоль. Аналогично использованию #<<# вместо #<#. #Копировать перехваченный# Позволяет сохранить для просмотра по #вывод на экран# #Ctrl-O# как текст, выводимый на консоль, так и перехватываемый вывод. Аналогично использованию #<+# вместо #<#. #Перехват вывода# Управление перехватом вывода программ: #Перехватывать# Перехватывать поток стандартного #stdout и stderr# вывода #stdout# и поток вывода ошибок #stderr# как один поток вывода. Аналогично использованию #<*# вместо #<#. #Перехватывать только# Перехватывать только #stdout#. #stdout (стандартный вывод)# Аналогично использованию #<1# вместо #<#. #Перехватывать только# Перехватывать только #stderr#. #stderr (вывод ошибок)# Аналогично использованию #<2# вместо #<#. #Перехватывать# Перехватывать #stdout# и #stderr# #stdout и stderr раздельно# независимо. Имеет смысл только в командах #far:view <# и #far:edit <#. В остальных случаях аналогично #<*#. Не совместим с #<+#. Аналогично использованию #