Макросы в Far 3
Обновлено 9 октября 2026 · 7 мин чтения
На этой странице
Макрос – последовательность действий на одной клавише. Простой макрос можно записать: Ctrl+., нужные клавиши, снова Ctrl+. и клавиша для вызова. Сложные пишут на языке Lua – это короткие текстовые файлы в папке профиля Far.
Записать макрос
- Перейдите туда, где макрос будет работать: в панели, в редакторе или в просмотрщике. Макрос привязывается к этой области.
- Нажмите Ctrl+. (точка). В левом верхнем углу появится значок записи.
- Выполните действия – Far запоминает нажатые клавиши.
- Снова нажмите Ctrl+. и затем клавишу или сочетание, на которое повесить макрос.
Если закончить запись клавишами Ctrl+Shift+., откроется окно параметров: можно поправить записанную последовательность, добавить описание и условия запуска. Чтобы удалить макрос, начните запись и сразу закончите её, назначив ту же клавишу.
Во время записи другие макросы отключаются, а клавиши, нажатые во внешних программах, не записываются.
Где лежат макросы
Far 3 загружает макросы из файлов .lua (и .moon) в папке:
%APPDATA%\Far Manager\Profile\Macros\scripts
У портативной версии с UseSystemProfiles=0 – в Profile\Macros\scripts рядом с Far.exe. В одном файле может быть сколько угодно макросов; файлы удобно называть по области: Editor.lua, Panel.lua.
Список всех действующих макросов – в справке Far: F1 → «Макросы» → «Список установленных макросов».
Готовые макросы из комплекта
В папке Far лежит полсотни готовых макросов: Addons\Macros. Чтобы включить нужный, скопируйте файл в папку Macros\scripts профиля и перезагрузите макросы. Самые популярные:
| Файл | Что делает |
|---|---|
Edit.SaveFile.lua | Сохранение в редакторе по Ctrl+S |
Edit.Notepad.lua | Привычные клавиши Блокнота в редакторе |
Edit.OpenURL.lua | Открыть ссылку под курсором в браузере (Ctrl+Enter) |
CtrlF10.lua | Выйти из редактора и встать на файл в панели |
Panel.SelectFromClipboard.lua | Выделить файлы по списку имён из буфера (Ctrl+S) |
Panel.SpaceToSelect.lua | Выделять файлы пробелом, как в Total Commander |
AltX.lua | Alt+X закрывает редактор, просмотрщик или Far |
Описание каждого файла – в Addons\Macros\Descript.ion.
Свой макрос на Lua
Так устроен готовый Edit.SaveFile.lua – и любой простой макрос:
Macro {
description="Редактор: сохранить по Ctrl+S";
area="Editor";
key="CtrlS";
action=function()
Keys("F2")
end;
}
area– где работает:Shell(панели),Editor,Viewer,Dialog,Menuи другие; можно несколько через пробел.key– сочетание:CtrlS,AltF3,CtrlShiftF.action– что делать.Keys("…")нажимает клавиши, как будто это сделали вы.condition– необязательная функция: макрос сработает, только если она вернёт «да».
Пример полезнее: по Ctrl+Shift+D в панели создать папку с сегодняшней датой:
Macro {
description="Панель: папка с текущей датой";
area="Shell";
key="CtrlShiftD";
action=function()
Keys("F7")
print(mf.date("%Y-%m-%d"))
Keys("Enter")
end;
}
print вводит текст в активное поле, mf.date возвращает дату в нужном формате.
Что умеет макрос
Кроме нажатия клавиш, макросу доступны объекты Far:
APanel,PPanel– активная и пассивная панели: путь, текущий файл, число выделенных;Editor,Viewer– текущий файл, строка, выделение;Panel.Select,Panel.SetPath– выделить файлы, сменить папку;far.Message,far.InputBox– показать сообщение, спросить текст;far.PasteFromClipboard,far.CopyToClipboard– буфер обмена;- весь язык Lua: условия, циклы, строки, работа с файлами.
Перезагрузка и отладка
После правки файлов не нужно перезапускать Far – наберите в командной строке:
lm:load
Быстро проверить кусок кода можно префиксом lua:, например lua:far.Message(APanel.Path) покажет путь активной панели. Если в макросе ошибка, при загрузке Far покажет сообщение с именем файла и номером строки.
Где узнать больше
- Полное описание всех функций – в папке Far:
Encyclopedia\macroapi_manual.ru.chm. - Готовые макросы других пользователей – раздел «Полезные макросы и скрипты» на форуме Far.
- Макросы из Far 1.x и 2 в Far 3 не работают – их нужно переписать на Lua. Как перенести остальное – в статье «Переход на Far 3».