Midnight Commander
Midnight Commander или mc - визуальная файловая оболочка для UNIX/Linux систем, аналог Far, Norton Commander. Распространяется под GNU Public License. Вызов из командной строки:
mc
или:
- mc [-abcCdfhPstuUVx?] [dir1 [dir2]]
- dir1 - содержимое каталога на активной панели
- dir2 - на неактивной панели
Описание опций выводится командой:
man mc
Некоторые значения опций:
| -c |
вызов цветного mc при условии, что терминал поддерживает ANSI-цвета. Проверка поддержки цвета терминалом (ввести в командной строке):
echo $XTERM
возможные значения переменной XTERM: color_xterm, rxvt и Linux console |
| -a |
запрет использования графики в панелях, когда она отображается неправильно и для рисования рамок использовать символы +, -, |. |
| -s |
режим медленного терминала, отключается псевдографика, сообщения |
| -P |
остаться в том же каталоге после выхода из mc |
| -u |
вызов mc без поддержки внутренней командной оболочки |
| -v |
с указанием имени файла - сразу запускается программа просмотра |
| -V |
отображает версию программы и минимальную информацию о mc |
В файле .bash_profile домашнего каталога часть опций mс уже предусмотрена. Все комбинации клавиш в mc приближены к комбинациям клавиш редактора GNU Emacs. Принятые условные обозначения комбинаций клавиш в самой программе:
C-k одновременно Ctrl+k
M-? Meta-клавиша; cкорее всего - Esc+?
C-x s нажимается Ctrl+x, затем s
A-x одновременно Alt+x (возможна замена клавиш Alt на Esc)
F1 -:- F10 функциональные клавиши. Их может заменять сочетание Esc+n ( n=1-:-10)
F11 -:- F20 сочетание клавиш Shift+F1 -:- Shift+F10
Midnight Commander использует клавишу ESC как префикс для эмулирования клавиш Meta и\или Alt. Например, нажатие ESC+a рассматривается как сочетание Meta+a.
Значения комбинаций клавиш показаны в каждом контекстном меню верхнего меню окна программы.
Функциональные клавиши нижнего меню:
F1 вызов справки
Организована как гипертекст с выделенными ссылками Перемещение по тексту с помощью
arrow_keys и:
Backspace, Delete, b - на одну страницу назад
Space - на одну страницу вперед
u, d - на половину страницы назад или вперед
g, G - к началу или к концу
tab - на следующую ссылку
Alt+tab - на предыдущую ссылку
n - к следующему разделу
p - к предыдущему разделу
l - к ранее просмотренным разделам
c - к оглавлению
F10, Esc - выход
F2 меню пользователя
Здесь добавляются свои настройки, горячие клавиши,
shell-команды. Используется файл
~/.mc.menu и если его нет, то одноименный системный файл.
Первый пункт меню: - "Сделать что-нибудь с текущим файлом". В появляющемся окне предлагается ввести имя команды или утилиты. Например, введенная таким образом команда
display вызывает окно
ImageMagick с изображением из текущего файла.
F3 просмотр содержимого файла
tar-архив - навести курсор, нажать
Enter, или мышью - двойной клик на
tar-архиве;
html файл - просматривается также по маске - на экране текст без тегов.
Можно увидеть минимум информации о графических файлах, использовав
Enter для выделенного графического файла.
Перемещение по тексту: - с помощью таких же комбинаций клавиш, как и при просмотре
help файла.
Можно работать в двух режимах просмотра: ASCII - режим отображения текстовых файлов, и HEX - режим отображения двоичных файлов в шестнадцатеричном формате. Переключение производится с помощью функциональной клавиши
F4.
В нижнем меню:
F2 - режим свёртки, переноса строки;
F6 - поиск с использованием регулярных выражений;
F7 - поиск в обычном режиме и в режиме HEX;
F8 - переключение между режимами Raw (отображение файла в том виде, в котором он записан на диске) и Parsed (пропущенным через фильтр, который задан для этого типа файлов в mc.ext);
F9 - переключение режимов format/unformat. При установленном режиме format отображаются выделенные и подчёркнутые символы;
F10, Esc - выход.
F4 редактирование
В
mc используется редактор
mcedit. Им можно пользоваться, вызвав его по имени с теми же настройками, какие применялись к
mc. Настройки и возможности редактора - спрятаны под
F9 (вызов меню в верхней панели). Сразу обратить внимание на последний справа пункт -
Options:
[x] - syntaX highlighting - с подсветкой синтаксиса в текстах программ;
необходимо только, чтобы mc вызывался с опцией -c
Менять имитацию табуляции и длину строки:
Tab spacing: 8 Word wrap line length : 72
Клавиши для редактирования файла
| Backspace |
удалить символ перед курсором |
| Ctrl+d |
удалить символ под курсором |
| Ctrl+y |
удалить строку |
| Ctrl+u |
отмена последней операции |
| Ins |
вставка/замена |
| F7 |
поиск (можно использовать регулярные выражения) |
| Shift+F7 |
повтор последней операции поиска |
| F4 |
замена |
| F3 |
первое нажатие - начало отметки блока, второе - конец. В консоли для отметки можно пользоваться: Shift+стрелки. |
| F5,F6,F8 |
копировать, переместить, удалить |
| Ctrl+F |
записать в файл |
| Shift+F5 |
прочитать из файла |
| Ctrl+O |
открыть файл |
| F2, F10 |
сохранить, выйти |
F5 копирование
При попытке переписать существующий файл в появляющемся диалоговом окне предлагается три варианта: согласиться, отказаться, дописать содержимое файла- источника в конец файла-приемника. Прервать процесс:
Ctrl+c или
Esc
F6 перемещение, изменение имени.
F7 создание нового каталога
F8 удаление
F9 переход к верхнему меню
F10 завершение текущего процесса, выход из текущего сеанса
Если функциональные клавиши не срабатывают, следует использовать сочетание
Esc+<
номер_функциональной_клавиши>.
"Обнуление" какого-либо действия в
mc:
Esc-Esc или
F10
Верхнее меню
Многоточие в пунктах меню указывает на переход к окну диалога. Соответствующая операции быстрая клавиша всегда выделена цветом, или подсветкой, или верхним регистром буквы в имени операции.
Left, Right меню
(левая/правая панели) позволяют оперировать режимами отображения панелей:
- - Listing mode... - формат списка: Full - стандартный, Brief - укороченный, Long - расширенный (как ls -l), User -определяемый пользователем.
- Символы для типов файлов в поле type:
- * (asterisk) для исполняемых файлов
- / (slash) для каталогов
- @ (at-sign) для ссылок (links)
- ~ (тильда) для символических ссылок на каталоги
- ! (восклицательный знак) для оборванных (stalled) символических ссылок
- = для сокетов
- - для символьных устройств
- + для блочных устройств
- - Sort oder... - порядок сортировки (8 режимов сортировки)
- - Filter... - выводить в панель не все списки файлов данного каталога, а только соответствующие определенному шаблону.
- - Network link... - требует наличие запущенного сервера mcserv
- - FTP link... - поддержка FTP. Список файлов с подсоединенной машины.
- Например, в окне диалога набрать: linux4u.jinr.ru/pub - в активном окне mc появится список файлов и каталогов /pub
- Rescan - обновить
- Info - режим информации о подсвеченном в другой панели файле и текущей файловой системе
- - Tree - отображение дерева каталогов
- - Quick view - использование одной панели для просмотра файла
File меню
В списке этого меню повторяются пункты нижнего меню, которые вызываются функциональными клавишами. Кроме того, в этом меню:
- - select Group(+) - команда выбора для группы файлов по заданному шаблону.
- В выданной строке ввода задается регулярное выражение, определяющее желаемую группу имен. Чтобы пользоваться привычными правилами, которые действуют в оболочке shell, необходимо включить опцию:
Configure options => shellPatterns "Образцы в стиле shell"
( раздел "Настройки программы")
- - Chmod - изменение прав доступа к своему собственному отмеченному файлу, каталогу
- - chOwn - смена имени владельца и группы
- - Advanced сhown - смена доступа к файлу
- - Link - жесткая ссылка (аналог копии)
- - SymLink - символьная ссылка (на имя файла)
- - edit sYmlink - редактирование ссылки
Большими буквами здесь указаны "быстрые клавиши".
Command меню
- - Find file - поиск файла (диалоговое окно)
- Tree - выбор начального каталога
- External panelize - команда позволяет выполнять внешнюю программу и перенаправлять результат её работы в текущую панель.
- Например, необходимо в одной из панелей собрать все символьные ссылки текущего каталога:
find . -type l -print
- - Compare directories - два метода сравнения содержимого панелей. Быстрый метод сравнивает только имена файлов, размер и дату создания. Другой метод производит полное сравнение файлов, байт за байтом. Этот метод не будет работать, если компьютер не поддерживает системный вызов mmap(2).
- - Active VFS list - список каталогов виртуальных систем
- Background jobs - управление фоновыми заданиями, запущенными под mc
- Extentsion file edit - редактирование файла расширений
~/.mc.ext. Указываются программы, которые выполняются при попытке запуска, просмотра, редактирования.
- Menu file edit - редактирование файла ~/.mc.menu
Options меню
- - Configuration - изменение опций из окна Configuration.
- Layout - изменение разметки экрана mc. Указывается, должны ли отображаться строка меню, командная строка, подсказка и строка меток функциональных клавиш, вертикальное/горизонтальное расположение панелей.
- Display bits - указывается, в каком формате локальный терминал будет обрабатывать (вводить и отображать на дисплее) информацию, представленную байтами (например, записанную в файле). Чтобы при просмотре и редактировании файлов видеть на экране кириллицу, установить: полный 8- битный вывод и полный 8-битный ввод. Но если терминал поддерживает только 7-битный вывод, то отметить 7 бит.
Смена раскладки клавиатуры - локальная, т.е. на локальной машине пользователя. Если сменить раскладку не удается, стоит обратиться к help файлу локальной программы-клиента по подсоединению к серверу и воспользоваться ее горячими клавишами.
- Confirmation - для установки подтверждения при операциях удаления, накладывания/переписывания файлов, а также для выхода из программы.
- Learn keys - диалоговое окно используется для тестирования функциональных клавиш, клавиш управления курсором и других, поскольку они часто не правильно работают на некоторых типах терминалов.
- Virtual FS - для изменения установок, связанных с кэшем виртуальной файловой системы. MC поддерживает четыре файловые системы:
- - локальная файловая система (используется для доступа к файлам из системы Unix)
- - FTPFS (используется для доступа к удалённым файловым системам по протоколу FTP)
- - TarFS (используется для оперирования с tar файлами)
- - MCFS (сетевая файловая система mc). Эта функция позволяет оперировать файлами, расположенными в других файловых системах.
При установке mc, в файле mc.ext уже находится запись для работы с tar файлами. Для этого нужно только выбрать требуемый tar файл и нажать Enter. Сетевая файловая система - позволяет оперировать файлами, расположенными на удалённом компьютере, так же как и локальными файлами. Для использования этой функции, на удалённом компьютере должна быть запущена программа- сервер mcserv(8).
В mc имеется возможность установки типа терминала без использования прав root, при условии, что файл .mc.ini находится в домашнем каталоге. Для этого редактируется секция terminal:terminal-name - terminal:general
Каждая строка секции содержит обозначение клавиши, которую требуется определить, а затем знак = за которым следует определение этой клавиши.
- - Save Setup - создается файл ~/.mc.ini , который ищется при вызове mc в первую очередь. Если он отсутствует, то загружается одноименный системный файл
Клавиши управления панелями
Tab, Ctrl+i - смена активной панели
Alt+g, Alt+r, Alt+j - переместить подсветку на верхний, средний, нижний файлы
Alt+t - циклический переход к различным режимам отображения списка файлов
Ctrl+\ - показать список каталогов и перейти к выбранному каталогу
home, Alt+<, Ctrl+a - к первой позиции списка файлов и каталогов в панели
end, Alt+>, Ctrl+e - к последней позиции списка
PageDown, Ctrl+v и PageUp, Alt+v - на одну страницу вниз, и вверх
Alt+o - неактивная панель переходит в режим отображения файлов подсвеченного каталога в активной панели
Ctrl+o - убирает панели с экрана; mc остается активным
Alt+y - перемещение к предыдущему каталогу из истории перемещения по каталогам; аналог клику мышкой на символ > в верхнем углу панели
Alt+u - перемещение к следующему каталогу; аналог клику мышкой на символ < вверху
- Ctrl+l - обновление экрана mc
Esc+c - переход в другой каталог, даже если в командной строке уже что-то набрано
Командная строка и операции с файлами
Enter на имени файла - попытка его запуска или просмотра
Enter на *.tar - просмотр каталога
Ctrl+q +<горячая_клавиша> - в случае, если в командной строке необходимо воспользоваться символом, клавиша которого является горячей в mc ( + и \ , например)
Alt+h - просмотр истории команд
Esc+tab - узнать все команды, имена файлов, имена переменных и т.д; оконный список
Ctrl+Enter, Esc+Enter, Alt_левый+Enter - копирование текущего имени файла в командную строку
Esc+a, Ctrl+x p - копирует полный путь в командную строку + и \ - используется для пометки и снятия пометки группы файлов. Открывается диалоговое окно для ввода регулярного выражения, описывающего группу помечаемых файлов.
Ctrl+a - перемещает курсор в начало строки
Ctrl+e - перемещает курсор в конец строки
Alt+f - перемещение на одно слово вперёд
Alt+b - перемещение на одно слово назад
Ctrl+@ - устанавливает метку для вырезания текста
Ctrl+w - копирует текст между курсором и меткой в буфер и удаляет текст из строки
Alt+w - копирует текст между курсором и меткой в буфер без его удаления
Ctrl+y - восстанавливает содержимое буфера.
Ctrl+k - удаляет текст от положения курсора до конца строки
Alt+Tab - дополняет набираемое имя файла, команды, переменной, имя пользователя и удалённого компьютера
Есть поддержка мыши для xterm и Linux консоли, но реализация её будет зависеть от программы-клиента по подсоединению к серверу на машине пользователя. Курсором мыши можно открывать каталоги, выделять файлы, запускать их, комбинируя одиночные и двойные щелчки. Чтобы выделять и вставлять текст мышью, надо при нажатии кнопок держать нажатой клавишу Shift. Для курсора мыши - экранные кнопки - <, v, ~, > - навигация по панелям, история команд.
Несколько замен горячих клавиш при возникновении проблем с ними:
Ins => Ctrl+t
Home => Ctrl+a
End => Ctrl+e
PgUp => Alt+v
Del. => Ctrl+d
стрелка вверх => Ctrl+p
стрелка вниз => Ctrl+n
Не следует искать на клавиатуре клавиши
a1 и
c1, упомянутые, в
help файле. У них есть замена:
a1 => Home, M+<
c1 => End, M+>
mc поддерживает только функции
bash,
tcsh и
zsh
Для перевода на русский язык названий меню, кнопок, сообщений
mc, в файл
.bash_profile (домашний каталог) записать строку:
LANG=ru_RU.KOI8-R ; export LANG (для sh и bash)
или
setenv LANG KOI8 (для csh/tcsh)