Для меня файловый менеджер FAR — это настоящий центр компьютерной вселенной. Это та самая программа, которую я запускаю сразу после загрузки операционной системы. Это то самое приложение, которое у меня всегда открыто, что бы я ни делал, какие бы задачи ни решал. За много лет мой FAR превратился в привычный инструмент, который так удобно ложится в руку, что тут же становится её естественным продолжением.
FAR — это тихая надёжная гавань, в которой я могу отдохнуть от пёстрых окон, разноцветных иконок и безумных графических интерфейсов. Это то место, откуда начинаются все мои цифровые экспедиции, где хранятся все мои привычные инструменты и находятся дверцы во все мои заветные сокровищницы знаний.
В статье я расскажу о том, как можно настроить и кастомизировать пользовательское меню файлового менеджера FAR.
Это меню позволяет не просто запускать заданные программы и открывать файлы. С помощью различных дополнительных настроек можно гибко и удобно расширять возможности его команд. Например, можно вывести результат выполнения консольного приложения во встроенном текстовом редакторе FAR. Или ввести значение какого-нибудь параметра или ключа в специальном окне непосредственно перед запуском команды. Давайте разбираться, как это сделать.

Дисклеймер. Все примеры в статье содержат команды для Windows.
Главное и местное пользовательское меню
Сначала небольшая порция ликбеза. Разберёмся, что вообще такое пользовательское меню FAR, как оно работает и где хранятся его настройки.
Пользовательское меню FAR — это окно с вертикальным списком команд, расположенное по центру родительского окна FAR. Оно вызывается клавишей F2. Каждая строка меню либо вызывает заданную команду, либо открывает вложенный раздел меню.
Настройки главного пользовательского меню хранятся в файле FarMenu.ini в каталоге FAR\Profile. Кроме того, вы можете создать местное меню для любого каталога. Для этого можно завести в этом каталоге отдельный файл FarMenu.ini. Если на активной панели выбран каталог с файлом FarMenu.ini, то по кнопке F2 FAR откроет местное меню вместо главного. Но вы всегда можете переключиться в главное меню, нажав Shift+F2.
Пользовательское меню можно редактировать непосредственно в интерфейсе FAR с помощью горячих клавиш:
Ins — добавить строку или подменю;
Del — удалить выбранную строку;
F4 — редактировать выбранную строку;
Alt+F4 — открыть файл
FarMenu.iniменю в редакторе FAR.
Я предпочитаю настраивать меню в редакторе — так удобнее, можно свободно управлять строками. Например, только в редакторе можно быстро поменять их порядок.
Формат файла FarMenu.ini
Файл FarMenu.ini состоит из блоков, каждый из которых описывает строку меню. Формат блока:
K: Заголовок
Команды
Здесь:
K— горячая клавиша для вызова строки меню. Может отсутствовать, тогда первая строка блока начинается просто с двоеточия.Заголовок— текст, который будет отображаться в строке меню.Команды— список команд, которые нужно выполнить. Может содержать несколько строк с командами, которые будут выполняться последовательно. По сути это аналог строк bat-файла.
Пример команды меню:
T: Текущее время
time.exe /t
pause
На любом уровне меню можно добавить строку вызова вложенного меню. Список строк вложенного меню нужно включить в фигурные скобки: {}.
Например:
: Команды операционной системы
{
C: Панель управления
rundll32 shell32,Control_RunDLL
F: Безопасное извлечение устройства
rundll32 shell32.dll,Control_RunDLL hotplug.dll
I: Сведения о системе
rundll32 shell32.dll,ShellAboutA
}

В любое место меню можно добавить горизонтальный разделитель:
--:
Запуск программ
Базовая функция пользовательского меню — запуск программ или скриптов.
Например:
C: Калькулятор
C:\Windows\System32\calc.exe
По сути это функциональность обычного «лаунчера». Но этим возможности пользовательского меню не ограничиваются. На самом деле это мощный интерфейс, с помощью которого можно много чего сделать и автоматизировать.
Использование макросов
В командах можно использовать различные макросы, вместо которых FAR будет подставлять реальные значения. Я чаще всего использую вот такие макросы:
!— длинное имя файла без расширения;!.!— длинное имя файла с расширением;!\— полное имя текущего пути без имени файла;!\!.!— полный путь и имя текущего файла.
Все макросы в этом списке соответствуют текущему каталогу и файлу, который выбран на активной панели FAR в момент вызова пользовательского меню.
Пример:
: Распаковать архив
winrar.exe x "!.!" "!"\
Эта команда создаёт папку с именем выбранного архива (без расширения) и распаковывает туда этот архив.
Не буду в этой статье перечислять полный список доступных макросов — их полный список есть в справке FAR, в разделе «Метасимволы». Посмотрите на досуге, там много чего интересного.
Задание параметров вызова
Из пользовательского меню можно не только запускать программы, но и передавать им какие-то значения, заданные пользователем. После выбора строки меню, но до запуска команды в FAR появится окно для ввода нужного значения.
Чтобы провернуть такой фокус, нужно непосредственно в текст команды добавить конструкцию:
!?$<history>$<title>?<init>!
Здесь:
$<history>$— имя журнала истории. Это отдельный журнал, в котором FAR будет хранить список ранее введённых значений и предлагать их при последующих вызовах. Эту часть конструкции можно опустить, тогда FAR будет использовать общий журнал.<title>— заголовок окна.<init>— значение по умолчанию. Можно не задавать.
Пример:
: Создать виртуальный диск для текущего каталога
subst.exe !?Введите имя диска?K!: !\
В этом примере не используется отдельный журнал — нет смысла запоминать буквы диска. А вот, например, при вызове команды ping журнал очень пригодится:
P: Великий По��ингуй
ping.exe !?$ping$Введите адрес?127.0.0.1!
pause
Когда вы начнёте вводить адрес в окне, FAR будет услужливо предлагать ранее введённые адреса из журнала, которые начинаются с тех же цифр. Удобно!

Вывод результата выполнения команды в окне сообщения FAR
Всё это были базовые возможности. Теперь давайте попробуем сделать что-нибудь более сложное, чего нет в справке. Например, использовать LUA-код в тексте команды. Для этого можно использовать префикс lua:. В следующем примере вызовем какую-нибудь команду и выведём результат её выполнения в стандартном окне сообщения FAR.
Пример:
T: Текущее время
lua: local handle = io.popen ("time.exe /t"); local res = handle:read("*a"); handle:close(); msgbox ('Текущее время', res)
Здесь мы вызываем time.exe с ключом /t — только выводить текущее время без запроса нового времени. Потом мы перехватываем вывод этой программы и транслируем его в окно сообщения FAR с помощью команды msgbox. Весь этот LUA-скрипт написан в одну строку.

Использование возможностей плагина FAR Commands
Плагин FAR Commands добавляет нам ещё больше возможностей по работе с результатами выполнения команд. Для этого можно использовать префиксы:
view:— вывести результаты в окне просмотра FAR;edit:— вывести результаты в окне редактирования FAR;clip:— скопировать результаты в буфер обмена.
Например, давайте усовершенствуем наш «Великий Попингуй». Пусть он выводит результаты своей работы в окно редактирования FAR.
P: Великий Попингуй II
edit:<"ping.exe !?$ping$Введите адрес?127.0.0.1!"
Ещё пример — скопируем текущее время в буфер обмена:
T: Копировать текущее время в буфер обмена
clip:<"time.exe /t"
В плагине FAR Commands есть ещё несколько интересных возможностей. Например, можно запустить какую-то команду и сохранить результат её выполнения в файл с заданным именем. Для этого нужно использовать конструкцию:
run:имяфайла<команда
Можно перейти к заданному пути с помощью команды:
goto:путь
Путь можно взять из текста заданного файла:
goto:<имяфайла
Использование возможностей EMenu
Плагин EMenu изначально предназначен для вызова контекстного меню Windows на выбранном файле в интерфейсе FAR. Но возможности этого плагина можно использовать и в пользовательском меню. Например, вызвать для выбранного файла заранее заданную команду контекстного меню (чтобы не возиться каждый раз с выбором этой команды).
Для выполнения заданной команды контекстного меню с файлом можно использовать конструкцию:
rclk_item: <название> [файлы]
Например:
: Показать свойства выбранного файла
rclk_item: "Свойства" "!\!.!"
Эта команда показывает Windows-окно со свойствами выбранного файла.
Работа со временной панелью
В FAR есть очень удобная функциональность — временная панель. Для этого предназначен плагин, который так и называется «Временная панель». Он позволяет на отдельной виртуальной панели выводить список файлов, отобранных по определённому правилу. Этой панелью тоже можно управлять командами — с помощью префикса tmp:.
Пример:
F: Избранное
tmp: +1 %FARHOME%\Favorites.txt
Эта команда открывает на временной панели 1 список моих избранных файлов, пути к которым хранятся в текстовом файле Favorites.txt в каталоге FAR.
Вызов окна с системными параметрами файлов
Для вызова списка системных параметров FAR можно использовать команду:
far:config
Там тоже можно много чего кастомизировать и поднастроить для себя. Например, я сразу отключил добавление символа BOM (Byte Order Mark) в начало Unicode-файлов в редакторе FAR. Это параметр Editor.AddUnicodeBOM.
Только нужно менять все эти настройки аккуратно и со знанием дела, чтобы ненароком не сломать чего-нибудь важного. Если описание выбранного параметра есть в справке FAR, то его можно посмотреть, нажав Shift+F1.
Примечание: Кстати, все эти префиксы плагинов можно использовать и в обычной командной строке FAR.

На фото и скриншотах вы видите не базовые цвета FAR, а мою кастомизированную палитру. В своей палитре я вручную повторил привычные цвета старого доброго Dos Navigator. Просто открыл старичка DN в окне эмулятора, в другом окне открыл FAR и шаг за шагом вручную перенёс настройки цветов объектов из первой программы во вторую. Благо, что интерфейсы настройки цветов у них практически одинаковые. Так сложилось, что ещё во времена DOS серая классическая гамма Dos Navigator мне нравилась больше, чем не менее классические, но слишком яркие для меня цвета Norton Commander. Поэтому для повышения комфортности рабочей среды я решил хотя бы частично воспроизвести привычную палитру в FAR.

Знаете, за что я люблю FAR? За то, что он содержит множество точек кастомизации, которые дают практически бесконечные возможности по расширению его возможностей.
С помощью команд пользовательского меню можно вызывать практически любые скрипты и программы для выбранных файлов. Можно непосредственно при запуске менять параметры этих скриптов в удобном интерфейсе. А результаты работы этих скриптов можно просматривать, редактировать, сохранять и использовать в следующих скриптах. И всё это с помощью несложных настроек и в привычном интерфейсе.
Ещё почитать:
Комментарии (55)

useribs
06.01.2026 15:41Интересно! А почему conemu брезгуете (судя по скриншотам)? Там же появляются еще как минимум tab'ы, даже необязательно FAR

pecheny
06.01.2026 15:41Я тоже "брезгую". Несколько раз пробовал, но было несколько моментов, которые для меня стали блокерами. По-моему, там было что-то ненастраиваемое с перехватом какой-то комбинации клавиш и/или колеса мыши. В принципе, и в обычном терминале норм, но где-то с год-другой переехал в wezterm. Еще вроде бы alacritty пробовал, но он меньше понравился.

useribs
06.01.2026 15:41С мышой не сталкивался, но с какого-то времени в ConEmu появилась обработка ctrl+` по умолчанию, возможно, в этом дело. А так они созданы друг для друга )


chnav
06.01.2026 15:41Интересно! А почему conemu
Извините что встреваю, несколько раз пытался понять, что может дать мне conemu. Например у меня открыто несколько FAR-ов в разных окнах. В винде, естественно, сразу после установки
отключил все свистоперделки иотключил группировку приложений в панели. Одним кликом из панели попадаю в нужный мне и открытый ранее FAR, если надо - перетаскиваю на соседний монитор, растягиваю под любой размер и т.д. В conemu, я так понимаю, надо сначала активировать его, а потом нужный tab. В общем для себя не увидел выгоды от ещё одной прослойки.Сохранение сессий и пр... У меня, как и у всех, FAR по-умолчанию висит в контекстном меню правой кнопки, любой каталог открывается из проводника в пару кликов.
Собственно поэтому и спрашиваю про реальное, ежедневное использование, ведь у всех разные привычки.

useribs
06.01.2026 15:41Так а чего попробовать долго что-ли. ConEmu распаковывается рядом с FARом, Plugins/ConEmu автоматом попадает в /Plugins/* FARа. В моем ежедневном использовании одного FARа хватает ). Что именно нравится:
- как именно выглядит ресайз/растягивание
- вызов по hotkey из любого места (ctrl+`)
- прогресс копирования в taskbar
- куча тем из коробки (Solarized/Monokai)
- tinkering со шрифтами
- возможность запихнуть в соседний tab любое приложение

anzay911
06.01.2026 15:41Раз уж тут Windows, судя по calc.exe, то вместо запуска сразу после загрузки операционной системы можно и:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "Shell"="C:\FAR\far.exe"
tlittle
06.01.2026 15:41В 95 винде я исключительно в познавательных целях менял шел на DN (или, быть может, NC - не упомню уже за давностью лет... lаже не помню, там надо было редактировать win.ini или system.ini...). Неудобно. Все-таки, это программа, которую ты запускаешь сразу после загрузки операционной системы, а не вместо нее.

PereslavlFoto
06.01.2026 15:41местное меню для любого каталога
Уважаемый мастер! Не знаете ли, как бы сделать местную обработку расширений для любого каталога?
Спасибо.

ecurep
06.01.2026 15:41Far - это сказка! Не понимаю людей, переходящих на TotalCommander и иже с ними...
С Windows я уже слез и для меня было большим облегчением обнаружить far2l для Linux!
Работает отлично.
Но у меня есть вопрос к автору. Быть может он знает, каким образом можно добавлять пункты в меню дисков (Alt+F1, Alt+F2) на Windows версии (в Linux можно туда добавлять папки, которыми често пользуешься).
alex0rus
06.01.2026 15:41можно папке присвоить букву диска, и тогда появиться в меню
добавление через subst

Zeroes
06.01.2026 15:41пример макроса - переход в папку D$ на сервере SRV1
Скрытый текст
local SRV1 = "4B787BF1-4846-4FC9-9D63-A1D5E2D60FF8" MenuItem { description = "SRV1"; menu = "Disks"; guid = SRV1; text = "SRV1"; action = function(openfrom,item) local tsdisks = {} mf.postmacro(mf.print, '@cd \\\\srv1\\D$') mf.postmacro(Keys, 'Enter') if #tsdisks > 0 then local res,pos = far.Menu( { X = openfrom==F.OPEN_LEFTDISKMENU and 10 or (APanel.Left and APanel.Width+10 or PPanel.Width+10), Title="TS Disks", Bottom="", Id=win.Uuid(TsClientId), MaxHeight=Far.Height-10, }, tsdisks ) if pos then local ap = (openfrom==F.OPEN_LEFTDISKMENU and APanel.Left or openfrom==F.OPEN_RIGHTDISKMENU and not APanel.Left) and 1 or 0 panel.SetPanelDirectory(nil,ap,tsdisks[pos].disk) end end end; }

aush99
06.01.2026 15:41Закладками пробовали пользоваться? Ctrl-shift-цифра запоминает каталог, правый ctrl+цифра - быстрый переход в этот каталог. Причем на каждую цифру может быть несколько вариантов(список вылезает)

kraamis
06.01.2026 15:41Вкладки папок, просмотр картинок и pdf во вкладке и переключением между ними со второй вкладке. Я без этого как без рук.

digdream
06.01.2026 15:41А какие сборки FAR есть актуальные? или все забросили их делать?
мне по душе от DJ-Andrey-sXe
chnav
06.01.2026 15:41Спасибо за наводку. особенно порадовало, что Portable.
(добавлено) F11 довольно сильно загружено. Интересно чем конкретно вы пользуетесь из этой сборки относительно стока ?

CoolCmd
06.01.2026 15:41В плагине FAR Commands есть ещё несколько интересных возможностей. Например, можно запустить какую-то команду и сохранить результат её выполнения в файл с заданным именем. Для этого нужно использовать конструкцию: run:имяфайла<команда
у меня это не работает

Zeroes
06.01.2026 15:41полезняшки:
`Макрос - перемещать пункты в UserMenu без мерцания и в том числе стрелками на цифровом блокеСкрытый текст
Macro { area="Menu UserMenu"; key="CtrlDown CtrlNum2"; action = function() Keys('CtrlDown') end; } Macro { area="Menu UserMenu"; key="CtrlUp CtrlNum8"; action = function() Keys('CtrlUp') end; }на Temp Panel всегда открывать только главное UserMenu
Скрытый текст
Macro { area="Shell"; key="F2"; description="Always use Main UserMenu on Temporary Panel"; action = function() if APanel.Path == "" then mf.usermenu(1); Keys("Enter") else Keys("F2") end end; }

GrandTourism
06.01.2026 15:41Пользуюсь FAR на базовом уровне и обожаю его

larasage
06.01.2026 15:41Аналогично - Far для меня в основном это командная строка с возможностью включения панелей.

chnav
06.01.2026 15:41Единственное подбешивают портированные из линукса утилиты, которые делают вывод не на stdout а х.з. куда, возможно в stderr, у меня с ними | more не работает. ну или просто не копал глубоко.

randomsimplenumber
06.01.2026 15:41Как то очень криво портированные.

chnav
06.01.2026 15:41Да извините я хотел написать не так категорично, должно быть "некоторые портированные утилиты". Да и нативные виндовые консольные утилиты тоже )) Но это редкие случаи. FAR - наше всё.

mcsimm
06.01.2026 15:41Добавил себе по F2 команды для быстрой конвертации FFMPEG-ом файлов:
: 8000 kbs resize 2160x1080 ffmpeg -i !& -vf "scale=2160:1080" -c:v h264_nvenc -preset medium -b:v 8000k -acodec aac -b:a 192k "!n.mp4" : 5000 kbs resize FullHD ffmpeg -i !& -vf "scale=1920:1080" -c:v h264_nvenc -preset medium -b:v 5000k -acodec aac -b:a 192k "!n.mp4" : 4000 kbs resize FullHD ffmpeg -i !& -vf "scale=1920:1080" -c:v h264_nvenc -preset medium -b:v 4000k -acodec aac -b:a 192k "!n.mp4" : 1500 Kbs ffmpeg -i !& -f mp4 -map 0:v -map 0:a -c:v h264_nvenc -preset medium -b:v 1500k -acodec aac -b:a 192k "!n.mp4" : 4000 h264 ffmpeg -i !& -vf "scale=1920:1080" -c:v h264 -preset medium -b:v 4000k -acodec aac -b:a 192k "!n.mp4" : 2000 Kbs ffmpeg -i !& -f mp4 -c:v h264_nvenc -preset medium -b:v 2000k -acodec aac -b:a 192k "!n.mp4" : 1000 kbs ffmpeg -i !& -f mp4 -map 0:v -map 0:a -c:v h264_nvenc -preset medium -b:v 1000k -acodec aac -b:a 128k "!n.mp4" : 3000 all audio ffmpeg -i !& -f mp4 -map 0:v -map 0:a -c:v h264_nvenc -preset medium -b:v 3000k -c:a copy "!n.mp4" : 3000 kbs ffmpeg -i !& -f mp4 -c:v h264_nvenc -preset medium -b:v 3000k -acodec aac -b:a 128k "!n.mp4"Скрытый текст

ну и быстрый просмотр картинок/видео для сортировки или удаления (например, разбор старых завалов "фоточки с отдыха") Ctrl+Q и плагин Review.

AleGen
06.01.2026 15:41О дааааа! Far Manager и его Linux-порт Far2L прекрасны!
Честно - совсем не понимаю людей, которые продолжают тыкать мышью в проводнике или в Total Commander, и отказываются попробовать Far Manager.
Автору статьи и автору менеджера - респект!

DikSoft
06.01.2026 15:41Из неочевидного, сейчас почему-то выключено по умолчанию:
far:config Panel.Tree.TurnOffComletely --> FalseВозвращает Tree View панель по "Ctrl+T"

Arisrarh_Pipetkin
06.01.2026 15:41Комп без Far для меня - инвалид.

randomsimplenumber
06.01.2026 15:41Все самое интересное - в броузере. С тех пр как я забыл, в какой коробке флешки лежат, ибо через интернет скинуть проще - особой необходимости в файл-менеджере нет.

acsent1
06.01.2026 15:41А есть способы увидеть подключенный телефон в far?

assad77
06.01.2026 15:41Раньше плагин назывался activesync. Но с тех пор слишком много времени прошло, да и ос теперь на мобилах андроид, а не wince.

pecheny
06.01.2026 15:41FARdroid — работа с файловой системой Android OS
Можно добавить в панель дисков.

JBFW
06.01.2026 15:41Контекстные меню - самая недооцененная фича в NC/VC/DOS Navigator/Far/Midnight Commander
Почти никто не умеет ими пользоваться, зато когда сумеет - оказывается, что это очень удобная штука. Буквально сейчас пересобираю прошивку под Ардуино из mc, и как раз с помощью контекстного меню, вместо ардуиновской ide.

qw1
06.01.2026 15:41Если функция очень часто используется, логичнее назначить на неё свой макрос (lua-скрипт, или эмуляция нажатий кнопок), чем каждый раз добираться до неё через лишнее нажатие F2.

JBFW
06.01.2026 15:41Ну вот например: f4 - правим код в любимом редакторе (там любой можно к этой кнопке привязать), потом f2 - компиляция бинарника, появился бинарник - на него снова f2, ota upload, ввести в окошке IP - и всё. Где там лишнее нажатие, и как сократить его, если оно одно?
Разумеется это скрипты, f2 их просто вызывает, чтобы не вспоминать как там они назывались.
Другой хороший вариант - вызывать их через Makefile - make, make install - но в данном случае речь про контекстное меню.
И вот это меню можно на что угодно настроить - тем оно и удобно. Но ещё со времён Нортона - большинство никогда не заморачивалось, у них всегда там висело предустановленное демо.

qw1
06.01.2026 15:41Лично я подобный flow делаю через кастомные обработчики (RUN/VIEW/EDIT).
Например, пишешь cpp-файл, нажимаешь на нём ENTER - появляется 3-4 варианта компиляции (разные компиляторы, разные ключи).
Нажимаешь ENTER на бинарнике - туда можно привязать варианты деплоя.
Как по мне, ENTER удобнее чем F2, и фокус уже - нет вариантов, которые для текущего файла не применимы.
Можно ещё дополнительно понавешивать кастомных обработчиков на F3/F4/Alt-F3/Alt-F4, зависимых от расширения файла.

Lecron
06.01.2026 15:41Мне не хватает "наследования" местного контекстного меню. Чтобы он просматривал наличие файла по всем папкам пути. FarMenu.ini в \dev не откроется из \dev\project

Maccimo
06.01.2026 15:41В статье я расскажу о том, как можно настроить и кастомизировать пользовательское меню файлового менеджера FAR.
Никогда бы не подумал, что из этого можно сделать статью.
F: Безопасное извлечение устройства
rundll32 shell32.dll,Control_RunDLL hotplug.dllНо зачем?
Можно же просто нажатьDelete, встав на нужную букву диска в меню поAlt-F1/Alt-F2.Все макросы в этом списке соответствуют текущему каталогу и файлу, который выбран на активной панели FAR в момент вызова пользовательского меню.
Для адресации активной и пассивной панелей есть префиксы
!^и!#соответственно.: Показать свойства выбранного файла
: Показать свойства !.!было бы информативнее.

PitAlex
в Far работаю чуть ли не с момента первого релиза, а вот эту фиу как то упустил :-)
tomicorp
наверное пропустил это в dn да vc с nc где его ещё и вызывали параметром запуска на отображение - пользователь потом выбирал что он хочет сейчас делать а не просто тупить в две панельки
PerroSalchicha
Эта фича появилась лет сорок назад, ещё в Нортоне, и с тех пор присутствует во всех нортон-подобных файловых менеджерах :)