.Language=Russian,Russian (Русский)
.PluginContents=FAR Commands
.Options CtrlStartPosChar=^<wrap>

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

   Кроме того эти команды можно использовать в ~меню пользователя~@:UserMenu@,
в ~ассоциациях файлов~@:FileAssoc@ и в диалоге ~Применить команду~@:ApplyCmd@ (#Ctrl-G#).

  #Синтаксис#

   #command:#[#options#] #object#

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

   #options# - ^<wrap>опциональные параметры, см. в описании соответствующих команд.

   #object#  - ^<wrap>одно из следующих значений:
             #имяфайла# - ^<wrap>имя файла для просмотра, редактирования, перехода.
             #путь#     - ^<wrap>путь для перехода к нужному каталогу или файлу.
             #<команда# - ^<wrap>~перехватить вывод~@Direction@ команды операционной системы. Символ #<# обязателен.


   См. также: ~Замечания~@Remark@ | ~Настройка плагина~@Config@

@Load
$ #Команда Load#
   Команда #load# позволяет загрузить плагин одним из 2-х способов:

   1. Путь к плагину непосредственно в команде

      #load:имя_DLL_модуля#

   2. Путь к плагину берётся из заданного файла "#имяфайла#"

      #load: <имяфайла#


   См. также: ~unload~@Unload@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@Unload
$ #Команда Unload#
   Команда #unload# позволяет выгрузить плагин одним из 2-х способов:

   1. Путь к плагину непосредственно в команде

      #unload:имя_DLL_модуля#

   2. Путь к плагину берётся из заданного файла "#имяфайла#"

      #unload: <имяфайла#

   Вместо полного пути к DLL-модулю можно указать GUID плагина.


   См. также: ~load~@Load@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@Clip
$ #Команда Clip#
   Команда #clip# позволяет поместить данные в буфер обмена Windows. Под
данными подразумевается содержимое указанного файла или вывод от какой-либо
программы. В буфер обмена помещаются все данные до символа с кодом #0x00#.
Размер помещаемых данных можно задавать в диалоге конфигурации плагина. По
умолчанию - 1 MB.

   #clip:имяфайла#

   Передаваемые команде данные нулевого размера очищают буфер обмена.

   См. также: ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@Run
$ #Команда Run#
   Команда #run# позволяет выполнить #команду# операционной системы с
перехватом её вывода в заданный файл #"имяфайла"#. Результат может быть
параллельно выведен на экран либо скрыт от пользователя, используя
модификаторы ~перехвата вывода~@Direction@.

   #run:имяфайла<команда#


   См. также: ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@View
$ #Команда View#
   Команда #view# позволяет открыть для просмотра во ~встроенном вьювере~@:Viewer@
заданный файл "#имяфайла#":

   #view:имяфайла#


   См. также: ~edit~@Edit@ | ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@Edit
$ #Команда Edit#
   Команда #edit# позволяет открыть для редактирования во ~встроенном редакторе~@:Editor@
заданный файл "#имяфайла#":

      #edit:имяфайла#

   Если файл "#имяфайла#" не существует, то он создаётся. Если после создания
и выхода из редактора файл не изменён, то он удаляется (поведение приближено
к #Shift-F4#).

   При открытии файла можно сразу перейти в заданную позицию. Для этого в квадратных скобках
надо указать нужную строку и колонку (любую компоненту можно не указывать, по умолчнию одна будет равна 1).
Квадратные скобки обязательны!

      #edit:[строка] имяфайла#

      #edit:[строка,колонка] имяфайла#

      #edit:[,колонка] имяфайла#

   В качестве строки и колонки допускается указывать переменные среды, содержащие числа.
Например, переменная среды Line равна 10. В этом случае произойдёт позиционирование курсора
на 10 строку (позиция в строке 1) в файле "File.txt":

   edit:[%Line%,] File.txt


   Если имя файла содержит квадратные скобки, например, "[1].txt", то для
корректного открытия такого файла в редакторе необходимо перед именем
выставить хотя бы один разделитель (например, пробел) или взять имя файла
в двойные кавычки:

   edit: [1].txt
   edit:"[1].txt"


   См. также: ~view~@View@ | ~Перехват вывода~@Direction@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@Goto
$ #Команда Goto#
   Команда #goto# позволяет перейти к заданному файлу или каталогу одним
из 2-х способов:

   1. Путь к файлу или каталогу указывается непосредственно в команде

      #goto:путь#

   2. Путь к файлу или каталогу берётся из заданного файла "#имяфайла#"

      #goto: <имяфайла#

   Если параметр "#путь#" указывает имя каталога, заканчивающееся
символом '#\#', то плагин переходит в каталог "#путь#". Если имя
каталога, указанное в параметре "#путь#", не заканчивается '#\#',
то на каталоге #путь# устанавливается курсор в панелях.

   Если файл "#имяфайла#" является ярлыком Windows, то плагин
переходит к объекту, на который ссылается lnk-файл.

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

   Плагин осуществляет переход как указано, не пытаясь найти файловый объект.

   См. также: ~whereis~@WhereIs@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@Link
$ #Команда Link#
   Команда #link# позволяет создавать и удалять ~ссылки~@:HardSymLink@ для файлов и папок,
а также монтировать локальные диски на файловую систему.


   #link:#[#/msg#] [#/n#] [#/s#] #источник назначение#

   В зависимости от типа источника создаются такие типы связей:

     #файл#  : жёсткая ссылка (#Hardlink#)
     #папка# : связь папок (#Junction#)
     #диск#  : монтируется диск (#Volume mount point#)
             "Диск" должен представлять собой последовательность
             "#буква_диска:\#", например, "#C:\#"

   Ключ #/msg# служит для вывода сообщений об ошибках.

   Ключ #/n# отключает автоматическое обновление панелей после создания связей.

   Ключ #/s# позволяет создавать символические ссылки (#Symlinks#).
   Можно создать символическую ссылку-файл (вместо жёсткой связи) или ссылку-папку (вместо связи папок).
   Ключ актуален в Windows Vista или выше. Игнорируется при монтировании дисков.

   Монтированные диски (volume mount points) - особенность Windows 2000/XP,
которая позволяет отображать отдельные диски на каталоги.
 Например,

   #link: E:\ C:\cdrom#

 После этой команды папка C:\cdrom будет отображать содержимое диска E:


   См. также: ~Замечания~@Remark@ | ~Содержание~@Contents@

@WhereIs
$ #Команда WhereIs#
   Команда #whereis# ищет указанный объект и в случае удачного поиска переходит
к нему.

   #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#

   Плагин пытается найти файловый объект сначала как указано, а затем производит
поиск объекта с расширениями из списка переменной среды PATHEXT.

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


   См. также: ~goto~@Goto@ | ~Замечания~@Remark@ | ~Содержание~@Contents@

@Direction
$ #Перехват вывода#
   Плагин умеет перехватывать вывод заданной команды #"<команда"#.

    #команда# - [#stream#[#mode#]][#|путь|#]#command#.

    #stream# - управление перехватом вывода #команды#.

             #1# - ^<wrap>перехватывать только стандартный поток вывода #stdout#.
             #2# - ^<wrap>перехватывать только стандартный поток вывода ошибок #stderr#.
             #*# - ^<wrap>перехватывать и #stderr# и #stdout# как один поток.
             #?# - ^<wrap>перехватывать #stderr# и #stdout# как разные потоки.
                 ^<wrap>В командах ~view~@View@ и ~edit~@Edit@ перехваченные потоки будут открыты в разных окнах. В других командах равносильно #*#.

             ^<wrap>Значение параметра по умолчанию может быть задано в ~настройках~@Config@.

    #mode#   - ^<wrap>управление выводом #команды# на экран в обход стандартных потоков ввода/вывода.

             #># - ^<wrap>игнорировать консольный вывод выполняемой программы и отобразить только сообщение о её выполнении.
             #<# - ^<wrap>сохранять консольный вывод и сделать его доступным для просмотра по #Ctrl-O#.
             #+# - ^<wrap>аналогична #<#, но выводит на экран не только консольный, но и перехватываемый вывод выполняемой программы.

             ^<wrap>Значение параметра по умолчанию может быть задано в ~настройках~@Config@.
             ^<wrap>Параметр #mode# можно указывать только после #stream#.

    #|путь|# - ^<wrap>команда может быть выполнена в каталоге, отличном от текущего. Для этого нужно указать путь, заключив его в символы '#|#'.
             Пример: #edit:<|%TEMP%|dir#

   Вывод команды может быть открыт во вьювере: #~view~@View@:<command#
     или в редакторе:                          #~edit~@Edit@:<command#
     или помещён в буфер обмена:               #~clip~@Clip@:<command#
     либо сохранён в заданный файл:            #~run~@Run@:filename<command#


  #Примечания:#

   1. ^<wrap>Всё, что расположено после символа '#<#' и необязательных
модификаторов, передаётся командному процессору (%COMSPEC%).

   2. ^<wrap>Результат работы команды помещается во временный файл,
который будет автоматически удалён, если больше не нужен FAR`у.

   3. ^<wrap>Некоторые программы осуществляют вывод на экран не через
стандартный поток вывода, перехватываемый плагином, а
непосредственно на консоль. Чтобы сохранить консольный
вывод и сделать его доступным для просмотра по #Ctrl-O#,
используйте модификаторы '#>#' и '#+#'. Чтобы наоборот, скрыть его - '#<#'.

      ^<wrap>Данное поведение может быть закреплено как поведение по
умолчанию в ~настройках плагина~@Config@.

   4. ^<wrap>Если параметр #stream# равен #1# или #2#, то начало имени команды
должно быть обязательно отделено от него каким-нибудь символом.

   5. ^<wrap>Если #command# указан без пути, то плагин пытается найти исполняемый
модуль, как это делает команда ~whereis~@WhereIs@.


  #Примеры:#

   Выполнить команду "#command#" с выводом результата в редакторе:
     #edit:<command#

   Возможные случаи с параметром #stream#=#1#:
     #edit:<1 command#
     #edit:<1"command"#
     #edit:<1+command#
     #edit:<1|%TEMP%|command#


   См. также: ~Замечания~@Remark@ | ~Содержание~@Contents@

@Remark
$ #Замечания#

   1. Допускается заключать в кавычки параметры #имяфайла#,
      #путь# и #команда#.

   2. Допускается использование переменных окружения.

   3. Если Вы ошибётесь в наборе, то появится подсказка.

   4. ^<wrap>В качестве #команды# могут использоваться консольные алиасы (Консольные алиасы - "макросы" созданные командой DOSKEY)


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

@Config
$ #Настройка FAR Commands#

 #Экранный вывод внешних команд# Управление ~выводом~@Direction@ программ на экран:

   #Скрывать экранный вывод#     Позволяет скрыть вывод программы.
   #внешних команд#              ^<wrap>Будет отображаться только сообщение о размере перехваченного вывода.
                               Аналогично использованию #<># вместо #<#.

   #Сохранять экранный вывод#    Позволяет сохранить для просмотра по
   #внешних команд#              ^<wrap>#Ctrl-O# текст, который программы выводят непосредственно на консоль.
                               Аналогично использованию #<<# вместо #<#.

   #Копировать перехваченный#    Позволяет сохранить для просмотра по
   #вывод на экран#              ^<wrap>#Ctrl-O# как текст, выводимый на консоль, так и перехватываемый вывод.
                               Аналогично использованию #<+# вместо #<#.

 #Перехват вывода#               Управление перехватом ~вывода~@Direction@ программ:

   #Перехватывать#               Перехватывать поток стандартного
   #stdout и stderr#             ^<wrap>вывода #stdout# и поток вывода ошибок #stderr# как один поток вывода.
                               Аналогично использованию #<*# вместо #<#.

   #Перехватывать только stdout# ^<wrap>Перехватывать только #stdout# (стандартный вывод).
                               Аналогично использованию #<1# вместо #<#.

   #Перехватывать только stderr# ^<wrap>Перехватывать только #stderr# (вывод ошибок).
                               Аналогично использованию #<2# вместо #<#.

   #Перехватывать#               Перехватывать #stdout# и #stderr#
   #stdout и stderr раздельно#   ^<wrap>независимо. Имеет смысл только в командах #view:<# и #edit:<#. В остальных случаях аналогично #<*#. Не совместим с #<+#.
                               Аналогично использованию #<?# вместо #<#.

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


 #Прочие настройки#

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

   #Размер читаемых данных#      ^<wrap>Позволяет задавать максимальный размер
считываемых из файла данных в командах ~clip~@clip@, ~goto~@goto@ и ~whereis~@whereis@.
                               По умолчанию - 1048576 (1 MB).
                               Максимальное значение - 4294967295 (4 GB-1).
                               Пустое значение или 0 заменяется на 1048576 (1 MB).


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