Макросы в Far 3

Обновлено 9 октября 2026 · 7 мин чтения

На этой странице

Макрос – последовательность действий на одной клавише. Простой макрос можно записать: Ctrl+., нужные клавиши, снова Ctrl+. и клавиша для вызова. Сложные пишут на языке Lua – это короткие текстовые файлы в папке профиля Far.

Записать макрос

  1. Перейдите туда, где макрос будет работать: в панели, в редакторе или в просмотрщике. Макрос привязывается к этой области.
  2. Нажмите Ctrl+. (точка). В левом верхнем углу появится значок записи.
  3. Выполните действия – Far запоминает нажатые клавиши.
  4. Снова нажмите 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.luaAlt+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».

Все статьи справочника →