.Language=Russian,Russian (Русский)
.PluginContents=FAR Commands

@Contents
$ #FAR Commands#
   Плагин FAR Commands (или FARCmds) предоставляет дополнительные возможности,
которые можно использовать в меню пользователя, ассоциациях файлов или
командной строке.

   ~Синтаксис~@Syntax@
   ~"Такой же каталог"~@TheSameCatalogue@
   ~Настройка FAR Commands~@Config@

@Syntax
$ #Синтаксис FARCmds
  #Синтаксис#

   <prefix>:<command>[<options>] <object>

  или

   <command>:[<options>] <object>

  где,

   #<prefix>#    - всегда #far#

   #<command>#   - одно из следующих значений:
                 ~view~@View@    - просмотр
                 ~edit~@Edit@    - редактирование
                 ~goto~@Goto@    - переход к нужному файлу или каталогу
                 ~clip~@Clip@    - помещение данных в буфер обмена
                 ~whereis~@WhereIs@ - поиск и переход на указанный объект
                 ~macro~@Macro@   - работа с макросами
                 ~link~@Link@      - создание линков
                 ~run~@Run@     - выполнение команд
                 ~load~@Load@   - загрузить плагин
                 ~unload~@Unload@ - выгрузить плагин

   #<options>#   - относится к команде "edit"; может быть:
                 #[строка]#
                 #[строка,колонка]#
                 квадратные скобки обязательны

   #<object>#    - одно из следующих значений:
                 #имя файла# - имя файла для просмотра, редактирования,
                             перехода.
                 #путь#      - путь для перехода к нужному каталогу
                             или файлу.
                 #<команда#  - ~перехватить вывод~@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. Windows 95: Системный каталог Windows (SYSTEM).
      Windows NT: 32-битный системный каталог Windows (SYSTEM32)
   4. Windows NT: 16-битный системный каталог Windows (SYSTEM)
   5. Каталог Windows.
   6. Каталоги, которые перечислены в переменной окружения #PATH#
   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 <#.
                               В остальных случаях аналогично #<*#.
                               Не совместим с #<+#.
                               Аналогично использованию #<?# вместо #<#.

 #Открывать на просмотр/#        При выключенной опции существующий
 #редактирование пустые файлы#   файл с нулевым размером не будет
                               открываться на просмотр или
                               редактирование.

 #Редактировать новый файл#      Позволяет открывать редактор для
                               несуществующего файла.

  См. также: ~Содержание~@Contents@
