6 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)
|