в cooledit.clip блока в позицию курсора.
Shift-Del удаляет выделенный блок текста, запоминая его
в файле cooledit.clip.
По клавише Enter вставляются символы конца строки и перевода
каретки, причем на следующей строке автоматически устанавли-
вается отступ. Работает выделение текста с помощью мыши,
причем если удерживать клавишу Shift, то управление мышью
осуществляется терминальным драйвером мыши.

Для того, чтобы определить макрос, нажмите Ctrl-R , после
чего введите строки команд, которые должны быть выполнены.
После завершения ввода команд снова нажмите Ctrl-R и свя-
жите макрос с какой-нибудь клавишей или комбинацией клавиш,
нажав эту клавишу (комбинацию). Макрос будет вызываться
нажатием Ctrl-A и назначенной для него клавиши. Макрос
можно также вызвать нажатием любой из клавиш Meta (Alt),
Ctrl, или Esc и назначенной макросу клавиши, при условии,
что данная комбинация не используется для вызова какой-либо
другой функции.
Макро-команды после определения записываются в файл
cedit/cooledit.macros в Вашем домашнем каталоге. Вы можете
удалить макрос удалением соответствующей строки в этом файле.

По клавише F19 (ее нет на обычной клавиатуре IBM PC, так
что придется пользоваться соответствующим пунктом меню, вызы-
ваемым по клавише F9, или переназначить клавишу) будет осу-
ществляться форматирование выделенного блока кода на языке C.
Однако, чтобы эта функция работала, необходимо вначале
создать исполняемый файл с именем cedit/edit.indent.rc
в Вашем домашнем каталоге, содержащий следующий текст:

#!/bin/sh
/usr/bin/indent -kr -pcs ~/cedit/cooledit.block >& /dev/null
cat /dev/null > ~/cedit/cooledit.error

Вы можете использовать функции поиска и замены scanf для поис-
ка и замены в соответствии с шаблонами формата языка C. Внача-
ле посмотрите man-страницы sscanf и sprintf , чтобы узнать,
что такое шаблоны формата и как они работают. Приведем пример:
предположим, Вы хотите заменить все вхождения блоков текста,
состоящих из открывающей скобки, трех разделенных запятыми
чисел, и закрывающей скобки, на блок, состоящий из слова
^Tapples , третьего числа исходного блока, слова ^Toranges и
потом второго числа из исходного блока. Тогда в диалоговом
окне, которое появится при вызове команды замены (F4), надо
задать следующие шаблоны:

Enter search string
(%d,%d,%d)
Enter replace string
apples %d oranges %d
Enter replacement argument order
3,2

Последняя из этих строк говорит, что третье и второе число
должны быть подставлены на места первого и второго аргумен-
тов.

Рекомендуется все же при осуществлении замены пользоваться
опцией "спрашивать подтверждение" ("Prompt on replace"),
потому что программа считает совпадениями все случаи, когда
число аргументов совпадает с заданным, хотя это не всегда
означает полное совпадение. Scanf также не обращает внимания
на количество символов пробела.

Встроенный редактор обрабатывает символы из второй половины
кодовой таблицы (160+). Но когда редактируете бинарные файлы,
лучше установить опцию "Биты символов" (Display bits) из
меню "Настройки" в положение "7 бит", чтобы сохранить формат
файла (to keep the spacing clean).

Описать все функции встроенного редактора в данной подсказке
невозможно. Запомните только, что все основные операции можно
выполнить через пункты меню, которое вызывается нажатием кла-
виши F9 в окне редактирования. Кроме того, можно прочитать
man-страницу по команде man mcedit или info mcedit .

[Chmod]
Права доступа (Chmod)

Диалоговое окно "Права доступа" предоставляет удобный интер-
фейс к команде chmod - команде изменения атрибутов доступа к
файлам и каталогам. Доступ к этому окну можно получить по
"горячей" комбинации клавиш "C-x c ".

Диалоговое окно "Права доступа" состоит из двух частей -
^TPermissions и ^TФайл .

В части "Файл" отображается имя файла или каталога и права
доступа на него в восьмеричной форме, а также указаны владе-
лец и группа файла.

В части "Permissions" перечислены атрибуты прав доступа к
текущему файлу. В квадратных скобках возле соответствующего
атрибута крестиком помечены те атрибуты, которые установлены
для данного файла.
Изменять установки атрибутов можно двумя способами.
При первом способе непосредственно изменяется значение атри-
бута в квадратных скобках возле его названия. Для изменения
значений атрибутов надо переместить подсветку на название
соответствующего атрибута и нажать клавишу ^Tпробела . Для
перемещения подсветки по названиям атрибутов можно использо-
вать ^Tклавиши-стрелки или клавишу ^TTab . Названия измененяемых
атрибутов помечаются звездочкой и предполагаемое значение
всех атрибутов в восьмеричном представлении прав доступа
сразу же отображаются в части "Файл" окна.

Для того, чтобы выбранные Вами значения атрибутов прав досту-
па вступили в силу, надо нажать клавишу Enter или экранную
кнопку [Set] (с помощью мышки). Для отказа от изменения атри-
бутов нужно выбрать кнопку [Прервать] . Вместо выбора экранных
кнопок можно воспользоваться "горячими" клавишами (выделенные
буквы в названии атрибута).

Изменять права доступа к отдельному файлу Вы можете только
первым способом (описанным выше). Когда Вы хотите изменить
атрибуты прав доступа сразу группы файлов или каталогов, Вы
тоже может воспользоваться этим способом, только вместо
экранной кнопки [Set] или клавиши <Enter> должны выбрать
кнопку [Set all] .
Второй способ заключается в том, что Вы сначала помечаете
те атрибуты, которые хотите изменить, с помощью клавиш <Ins>
или <T>. Обратите внимание, что значение в квадратных скобках
при этом не изменяется. После этого Вы выбираете один из
следующих вариантов действий (то есть одну из экранных
кнопок):

[Marked all] отмеченные атрибуты (и только они) будут уста-
новлены в те значения, которые указаны в квадратных скоб-
ках возле названия атрибута, причем для всех выбранных
(помеченных) файлов; если атрибут не был отмечен, его
значение для выбранных файлов не изменяется.

[Set marked] для всех выбранных файлов бит, соответствующий
данному атрибуту, будет установлен в 1.

[Clean marked] для всех выбранных файлов бит, соответствующий
данному атрибуту, будет установлен в 0.

[Set] будут установлены атрибуты только для одного файла
(первого из помеченных), причем установка производится
так же, как по клавише [Marked all].

[Cancel] отказаться от выполнения команды Chmod.

[Chown]
Владелец/группа (Chown)

Пункт меню "Владелец/группа" используется для того, чтобы из-
менить владельца файла или группу, которая имеет какие-то
права на файл. "Горячая" клавиша для вызова этого пункта
меню - C-x o .

[Advanced Chown]
Расширенная команда Chown

Выбрав пункт меню "Расширенная команда Chown", Вы увидите
окно, совмещающее в себе окна, появляющиеся при выборе
пунктов Права доступа (Chmod)Chmod и Владелец/группа (Chown)Chown.
В этом окне Вы можете как изменить права доступа к файлу,
так и поменять владельцев файла.

[Quick cd]
Быстрая смена каталога (Quick cd)

Эта команда полезна тогда, когда Вы знаете полный путь к
каталогу, который хотите сделать текущим, и желаете исполь-
зовать встроенную команду  cdThe cd internal command.
По этой команде вызывается диалоговое окно, в строке ввода
которого Вы должны ввести тот путь, который Вы ввели бы в
командной строке оболочки при выполнении команды cd .
После этого надо нажать клавишу <Enter>.

[Command Menu]
Меню "Команды"

При обращении к пункту меню Дерево каталоговDirectory Tree выводится
окно, отображающее структуру каталогов файловой системы.

Команда Поиск файлаFind File позволяет Вам найти на диске файл с
заданным именем. "Горячие" клавиши - M-? .

Команда "Переставить панели" ("Swap panels") меняет местами
содержимое правой и левой панелей. "Горячие" клавиши - C-u .

По команде "Отключить панели" ("Panels on/off") показывается
вывод последней из выполнявшихся команд shell. Эта команда
работает только через xterm и на консоли Linux и SCO.
"Горячие" клавиши - C-o .

По команде "Сравнить каталоги" ("Compare directories",
"горячие" клавиши - C-x d ) сравнивается содержимое каталогов,
отображаемых на левой и правой панелях. После сравнения Вы
можете воспользоваться командой "Копировать" (F5) для того,
чтобы сделать содержимое каталогов одинаковым.
Существует три метода сравнения. При быстром методе сравни-
ваются только размер и дата создания файлов с одинаковыми
именами. При побайтном методе сравнивается содержимое файлов
(побайтно). Этот метод недоступен, если машина не поддержи-
вает системный вызов mmap(2). При сравнении по размеру
сравниваются только размеры соответствующих файлов, а дата
создания не проверяется.

Пункт меню "История команд" выводит окно со списком ранее вы-
полнявшихся команд. Подсвеченную строку из истории можно ско-
пировать в командную строку оболочки (перемещение подсветки -
стрелками вверх/вниз, копирование - по клавише Enter).
Доступ к истории команд можно получить также по комбинациям
клавиш M-p или M-n , однако в этом случае Вы не видите окна
с перечнем команд. Вместо этого в командную строку выводится
одна команда из списка и по комбинации M-p происходит смена
этой команды на предыдущую, а по M-n - на следующую команду
из истории команд.

Пункт меню "Справочник каталогов"Hotlist (C-\ ) позволяет создать
список каталогов, которые часто используются, и обеспечить
быстрый переход к нужному каталогу из этого списка.

Пункт меню "Критерий панелизации"External panelize позволяет Вам выполнить
внешнюю программу, сделав ее вывод содержимым текущей панели
(характерный пример - панелизация вывода команды find).

После выбора пункта меню "Файл расширений"Extension File Edit Вы можете
связать с определенным расширением файла (окончанием имени
после последней точки) программу, которая будет запускаться
для обработки (просмотра, редактирования или выполнения)
файла с таким расширением. Запуск выбранной программы будет
осуществляться после установки подсветки на имя файла и
нажатия клавиши <Enter>.

Пункт меню "Файл меню"Menu File Edit используется для редактирования
пользовательского меню (которое появляется после нажатия
клавиши F2).

[Directory Tree]
Дерево каталогов (Directory Tree)

После выбора пункта меню "Дерево каталогов" появляется
окно, в котором отображена иерерхическая структура каталогов.

Дерево каталогов может быть вызвано двумя способами: через
пункт "Дерево каталогов" из меню "Команды" и пункт "Дерево"
из меню правой или левой панелей.

Чтобы избавиться от долгих задержек во время создания
дерева каталогов, Midnight Commander создает дерево путем
просмотра только небольшого подмножества всех каталогов.
Если каталог, который Вам нужен, не отображен, перейдите
в его родительский каталог и нажмите C-r (или F2 ).

Для управления просмотром дерева каталогов могут
использоваться следующие комбинации клавиш:

Работают все клавиши управления перемещениемGeneral Movement Keys.

Enter. В окне просмотра дерева каталогов нажатие этой
клавиши вызывает выход из режима просмотра и отображение
списка файлов выбранного каталога в активной панели.
При отображении дерева каталогов в одной из панелей при
нажатии клавиши Enter соответствующий каталог отображается
во второй панели, а на текущей панели остается дерево.

C-r, F2 (Rescan). Перечитать содержимое каталога.
Используется в тех случаях, когда дерево каталогов не
соответствует реальной структуре: некоторые подкаталоги
не показаны или показаны более не существующие.

F3 (Forget). Удалить текущий каталог из дерева. Эта команда
используется для удаления ошибочно отображаемых ветвей
дерева. Если Вам необходимо вернуть подкаталог в дерево,
перейдите в его родительский каталог и нажмите клавишу F2.

F4 (Static/Dynamic). Переключение между статическим
(применяемым по умолчанию) и динамическим режимами
перемещения по дереву.

В статическом режиме перемещения для выбора каталога (т.е.
перемещения подсветки на имя другого каталога) используются
только стрелки вверх/вниз. Показываются все известные
программе на данный момент подкаталоги.

В динамическом режиме стрелки вверх/вниз используются для
перехода на соседний каталог того же уровня. Для прехода
в родительский каталог используется клавиша "стрелка влево",
а по стрелке вправо происходит переход к потомкам текущего
каталога, то есть на один уровень ниже. При этом отображаются
только вышележащие каталоги (включая родительский и выше),
соседние каталоги того же уровня и непосредственные потомки.
Вид дерева каталогов динамически изменяюется после каждого
перемещения по дереву.

F5 (Copy). Копировать подкаталог (появляется строка ввода,
в которой надо указать, куда копировать).

F6 (RenMov). Переместить подкаталог.

F7 (Mkdir). Создать подкаталог в текущем (подсвеченном)
каталоге.

F8 (Delete). Удалить посвеченный каталог из файловой системы.

C-s, M-s. Найти следующий каталог, соответствующий заданному
шаблону поиска. Если такого каталога не существует, происходит
просто смещение подсветки на одну строку вниз.

C-h, Backspace. Удаляет послений символ в строке (шаблоне)
поиска.

Любой другой символ. Этот символ добавляется в шаблон
поиска и производится перемещение на имя следующего каталога,
удовлетворяющее шаблону. В режиме просмотра дерева каталогов
вначале необходимо активизировать режим поиска клавишами C-s .
Шаблон поиска будет отображаться в строке мини-статуса.

Следующие действия возможны только в окне просмотра дерева
каталогов и не поддерживаются при просмотре дерева в одной
из панелей

F1 (Help). Вызов подсказки с отображением настоящего
раздела помощи.

Esc, F10. Выход из окна дерева каталогов. Смены текущего
каталога не происходит.

В окне просмотра дерева каталогов поддерживается мышка.
Двойной щелчок аналогичен нажатию клавиши Enter. Смотри также
секцию о поддержке мышиMouse Support.

[Find File]
Поиск файлов (Find File)

После выбора пункта меню "Поиск файла" ("Find File") вначале
запрашивается имя искомого файла и имя каталога, с которого
необходимо начинать поиск. Нажав кнопку <Дерево> (<Tree>),
Вы можете выбрать начальный каталог поиска из дерева
каталоговDirectory Tree.

В поле "Содержание" (contents) можно задать регулярное выра-
жение по правилам команды egrep(1). Это значит, что перед
символами, имеющими специальное значение для egrep, необхо-
димо вставить символ "\", например, если Вам нужно найти
строку "strcmp (", Вы должны указать шаблон поиска в виде
"strcmp \(" (без двойных кавычек).

Для того, чтобы начать поиск, нажмите экранную кнопку
<Дальше> (<Ok>).
Во время поиска его можно приостановить кнопкой <Остановить>
(<Stop>) и продолжить по кнопке <Продолжить> (<Start>).

Список найденных файлов можно просматривать, перемещаясь с
помощью клавиш "стрелка вверх" и "стрелка вниз". Кнопка
<Перейти> (<Chdir>) используется для перехода в каталог,
в котором находится подсвеченный файл. Кнопка <Повтор>
(<Again>) служит для задания параметров нового поиска.
Кнопка <Выход> (<Quit>) служит для выхода из режима поиска.
Нажатие на кнопку <Панелизация> (<Panelize>) приведет к тому,
что результаты поиска будут отображены на текущую активную
панель, так что Вы можете производить с выбранными файлами
еще какие-то действия (просматривать, копировать, перемещать,
удалять и так далее). После вывода на панель можно нажать C-r
для возврата к обычному списку файлов.

Можно задать список каталогов, которые команда "Поиск файла"
будет пропускать в ходе поиска (например, Вы знаете, что
искомого файла нет на CDROM или не хотите искать в каталогах,
подключенных через NFS по очень медленному каналу).

Каталоги, которые надо пропустить, должны быть указаны в
переменной find_ignore_dirs в секции Misc Вашего
файла ~/.mc/ini . Имена каталогов разделяются двоеточиями,
следующим образом:

[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs

Вы можете использовать перенаправление вывода на панель
(см. Критерий панелизацииExternal panelize) для выполнения некоторых
усложненных последовательностей действий, в то время как
"Поиск файла" позволяет выполнять только простые запросы.

[External panelize]
Критерий панелизации (External panelize)

Пункт меню "Критерий панелизации" (который правильнее было
бы назвать "Перенаправление вывода на панель") позволяет Вам
выполнить внешнюю программу и отобразить вывод этой
программы на текущей активной панели.

Например, если Вы хотите выполнить какое-то действие над
всеми символическими ссылками текущего каталога, Вы можете
использовать пункт "Критерий панелизации" для запуска
следующей команды:

find . -type l -print

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

Если Вы хотите вывести на панель все файлы, которые были
скачаны с Вашего FTP-сайта, Вы можете использовать следу-
ющую команду для извлечения нужных имен из файла протокола:

awk '$9 ~! /incoming/ { print $9 }' < /usr/adm/xferlog

Если Вы захотите, то можете сохранить часто используемые
команды панелизации под отдельными информативными именами,
чтобы иметь возможность их быстро вызвать по этим именам.
Для этого нужно набрать команду в строке ввода и нажать
кнопку <Добавить>. После этого Вам потребуется ввести имя,
по которому Вы будете вызывать команду. В следующий раз Вам
достаточно будет выбрать нужное имя из списка, а не вводить
всю команду заново.

[Hotlist]
Справочник каталогов (Hotlist)

Пункт меню "Справочник каталогов" служит для вывода списка
меток (условных имен), присвоенных наиболее часто используемым
каталогам. Этот список можно использовать для быстрого пере-
хода в нужный каталог. Пользуясь диалоговым окном справочника
каталогов, Вы можете добавить новую метку в список или
удалить ранее созданную пару метка/каталог. Для добавления
метки можно также использовать комбинацию клавиш (C-x h ), по
которой текущий каталог добавляется в справочник каталогов.
Программа выдаст запрос на ввод метки для этого каталога.

Использование этого пункта меню обеспечивает более быстрый
переход к часто используемым каталогам. Другим способом уско-
рения процедуры переключения на часто используемые каталоги
является задание переменной CDPATH (смотри описание встроен-
ной команды cd The cd internal command).

[Background jobs]
Фоновые задания

Этот пункт меню позволяет Вам управлять фоновыми заданиями,
запущеными из Midnight Commander (такими заданиями могут
быть только операции копирования и перемещения файлов).
Используя этот пункт меню или "горячие" клавиши C-x j , Вы
можете остановить, возобновить или снять любое из фоновых
заданий.

[Extension File Edit]
Файл расширений

Этот пункт меню "Команда" служит для вызова редактора и
загрузки в него на редактирование файла ~/.mc/ext . Этот файл
имеет следующий формат (формат был изменен в версии 3.0):

Все строки, начинающиеся с # или пустые строки игнорируются.

Строки, начинающиеся с первой колонки (будем говорить, что с
таких строк начинаются секции файла расширений), должны иметь
следующий формат:

^Tkeyword/descNL, т.е. все, что стоит после ^Tkeyword/ и до
конца строки, интерпретируется как ^Tdesc .

В качестве keyword может стоять одно из следующих слов:

^Tshell (если desc начинается с точки (мета-символы не допуска-
ются), то desc - это расширение имени файла, т.е. шаблону
соответствуют все файлы, оканчивающиеся на desc.
Пример: .tar будет означать *.tar. Если desc не начинает-
ся с точки, то desc трактуется как полное имя файла.

^Tregex (desc - регулярное выражение)
Обратите внимание на то, что используется библиотека GNU
regex, в силу чего "\|" соответствует просто символу "|",
а "|" имеет специальное значение (логическое ИЛИ).
Аналогично, вместо скобок "(" и ")" надо использовать
"\(" и "\)".

^Ttype (в этом случае выбираются такие файлы, для которых
`file %f` соответствует регулярному выражению desc
(часть filename: из `file %f` удалена))

^Tdirectory (любой каталог, имя которого соответствует регу-
лярному выражению desc)

^Tinclude (matches an include directive)

^Tdefault (подходит любой файл, независимо от того, какое
значение принимает desc)

Все строки в секции, кроме первой, должны начинаться с пробела
или символа табуляции и иметь следующий формат:

^Tkeyword=commandNL (без пробелов возле "="),

где ^Tkeyword должно быть :

^TOpen (строка задает действия, выполняемые в том случае,
когда пользователь нажимает Enter или дважды щелкает
мышкой по имени файла),
^TView (F3),
^TEdit (F4),
^TDrop (пользователь drops some files on it)
^TIcon name is name of the corresponding icon (XPM). If
it has no path, the default path for mc icons
/usr/lib/mc/icons is assumed.
^TTitle is the default icon title for objects. %p is
expanded into the name of that file and %d/%p to a
name with full path. Default title (if none is specified)
is %p
^TInclude is the keyword used to add any further entries
from an include/ section
^Tлюбое имя, определяемое пользователем (those will be
listed in the extension dependent pop-up menu).

^Tcommand - это любая однострочная команда оболочки, в кото-
рой допускаются следующие макро-подстановки.Macro Substitution

%% -> символ %
%p -> имя текущего файла (без пути, путем является имя
текущего каталога)
%f -> имя текущего файла. В отличие от %p, если файл распо-
ложен не в локальной, а в виртуальной файловой сис-
теме, то есть в одной из ФС tarfs, mcfs или ftpfs, то
файл будет временно скопирован в локальный каталог и
%f примет значение, равное полному пути к этому ло-
кальному временному файлу.
Если Вы хотите получить не локальную копию, а обра-
титься к файлу в виртуальной файловой системе (напри-
мер /#ftp:ftp.cvut.cz/pub/hungry/xword), то исполь-
зуйте %d/%p вместо %f.
%d -> имя текущего каталога (pwd, без слэша на конце)
%s -> "выбранные файлы", т.е. список помеченных файлов (если
такие имеются), разделенных пробелами, или имя текуще-
го файла (если нет помеченных)
%t -> список помеченных фйлов
%u -> список помеченных фйлов (отметка с них будет снята
после выполнения команды)

(Если в шаблонах любая из этих букв задана в верхнем регистре,
обрабатываются файлы из пассивной панели. Но Вы не должны
использовать заглавные буквы в файле расширений)

%cd -> оставшаяся часть строки будет не командой, а путем
к каталогу, в который будет осуществлен переход с по-
мощью встроенной в MC команды cd (обычная команда cd
не сработала бы, поскольку для ее выполнения порож-
дался бы новый процесс (child process), а %cd обраба-
тывает даже имена каталогов в виртуальных файловых
системах

%view -> команда, которую Вы наберете, будет соединена кон-
вейером (will be piped into) со встроенной программой
просмотра (mc's internal file viewer).
Если Вы введете только %view без команды, встроенная
программа просмотра загрузит файл %f (т.е. конвейера
не будет, тоа что это не то же, что %view cat %f)
Сразу вслед за %view можно поставить {} со списком,
содержащим любые слова из следующего перечня, разде-
ленные запятыми:
ascii (Ascii mode),
hex (Hex mode),
nroff (c\bc color highlighting)
unformatted (not highlighting nroff sequences)

%var -> используется примерно так: %var{ENV-VAR:default}.
Этот макрос будет заменяться на значение переменной
окружения ENV-VAR, если она установлена, в противном
случае будет использовано значение default. Это
подобно конструкции ${VAR-def} в оболочке Борна.

%q -> будет заменено списком файлов (с полными именами путей
к ним), которые пользователь бросил на него (user
dropped on it). Применяется только в команде Drop.

Секции файла расширений просматриваются сверху вниз (порядок
важен). Если какое-либо действие не задано (отсутствует) в
секции, то поиск продолжается, как если бы эта секция не
соответствовала выбранному файлу (т.е. если файл соответствует
первой и второй секции, но действие View не определено в
первой секции, то нажатие F3 будет вызывать ту реакцию про-
граммы, которая определена строкой View из второй секции
файла. Секция default должна поэтому определять реакцию
на все случаи.

Если у Вас есть предложения по заданию каких-то действий
программы для определенных типов файлов, которые будут
полезны для других пользователей, присылайте Ващи предло-
жения по email на адрес mc-devel@roxanne.nuclecu.unam.mx.

[Menu File Edit]
Редактирование файлов меню

Файлы меню содержат списки команд для выполнения часто повто-
ряемых пользователем операций. Эти меню создаются и поддержи-
ваются самими пользователями. Могут быть созданы три файла
меню: в текущем каталоге, в домашнем каталоге пользователя
и общесистемный. Когда Вы нажимаете клавишу F1 для вызова
меню, Midnight Commander вначале ищет файл .mc.menu в текущем
каталоге и отображает соответствующее меню (если находит и
если владельцем этого файла является данный пользователь
или root и файл is not world-writable). Если такого файла
не найдено, таким же образом ищется файл ~/.mc/menu и, в
последнюю очередь, mc использует общесистемное меню
/usr/lib/mc/mc.menu .

Формат всех трех файлов меню одинаков и очень прост. Строки
комментариев начинаются с '#'. Дополнительные комментарии
должны начинаться с '#', пробела или символа табуляции. Стро-
ки, начинающиеся с любого символа, отличного от пробела и
символа табуляции, интерпретируются как названия пунктов
меню, причем если первый символ является буквой или цифрой,
то соответствующая клавиша будет служить "горячей" клавишей
для вызова этого пункта меню. Строки, начинающиеся с пробела
или символа табуляции, интерпретируются как команды, которые
должны выполняться при вызове соответствующего пункта меню.
Эти строки должны следовать за строкой названия и их может
быть несколько.

Когда пользователь выбирает какой-то пункт меню, соответст-
вующие командные строки копируются во временный файл во
временном каталоге (обычно /usr/tmp) и затем этот файл
запускается на выполнение. Это позволяет пользователю
вставлять в команды меню любые конструкции, допустимые
в командном языке оболочки (shell). Можно также использовать
макро-подстановки, которые производятся перед выполнением
кода меню (подробнее смотри в секции Макро-подстановкиMacro Substitution).

Вот пример файла mc.menu:

A Вывести выбранный файл командой od
od -c %f

B Отредактировать протокол ошибок и переслать root-у
vi /tmp/mail.$$
mail -s "Midnight Commander bug" root < /tmp/mail.$$

M Прочитать почту
emacs -f rmail

N Просмотреть новости Usenet
emacs -f gnus

H Вызов гипертекстовой помощи
info

J Скопировать текущий каталог в другую панель
tar cf - . | (cd %D && tar xvpf -)

K Создать архив текущего подкаталога
echo -n "Введите имя архива: "
read tar
ln -s %d `dirname %d`/$tar
cd ..
tar cvhf ${tar}.tar $tar

= f *.tar.gz | f *.tgz & t n
X Извлечь содержимое сжатого tar-архива
tar xzvf %f

Условия выполнения (Default Conditions)

Каждому пункту меню может предшествовать условие. Строка,
задающая условие, должна содержать символ '=' в первой
колонке. Команды, задаваемые этим пунктом меню, будут
выполняться только если условие выполняется.

Синтаксис строки условия: = <sub-cond>