Midnight Commander (Русский)
Midnight Commander — графический файловый менеджер, позволяющий копировать, перемещать и удалять файлы и деревья каталогов, производить поиск по файлам и запускать команды в командной оболочке. Он включает в себя встроенный просмотрщик и редактор файлов.
Midnight Commander имеет графический интерфейс, который отображается в текстовом режиме. Он работает в обычной консоли, внутри терминала X и через SSH-соединение на всех видах терминалов.
Установка
Установите пакет mc.
Последняя нестабильная версия доступна в пакете mc-gitAUR.
Дополнительные темы
- mc-solarized-git — Цветовая схема Solarized
- mc-skin-candy — Цветовая схема Candy
- https://github.com/izmntuk/archiso/blob/master/configs/alter/root-image/usr/share/mc/skins/candy.ini[устаревшая ссылка 2020-08-04] || not packaged? search in AUR
Usage
The below section provides a short overview on usage of Midnight commander. References to mc(1) and the Help function (F1
, available in every dialog) are made in this article as Section
.
/usr/share/mc/hints/
.Interface
In prominent view are two vertical panes. Either can list directory contents, show a plain text preview, file details, or a directory tree (see Directory Tree
). File operations are accessible through the function keys or the mouse. More options are visible in a dynamic user menu (F2
) and option menu (F9
). Keys above F12
(F13
up to F20
) are accessible through Shift
. Menu and dialog options have one letter highlighted - pressing this letter (or Alt+Letter
inside a text entry) directly activates the respective option.
Below, a command line is visible, connected to a subshell. This shell is generally of the same type mc was launched from, and may be switched to at will (Ctrl-O
), see The subshell support
. On this command line, cd is interpreted by Midnight Commander, and not passed to the shell for execution. As such, special completion (such as from Zsh) is unavailable. Files in the pane interact with the command line; for example, Alt+Enter
copies the name of a (selected) file to the command line.
Keybindings are generally similar to GNU Emacs. A more strict emacs keymap can be enabled (see Redefine hotkey bindings
). New users may however use Lynx-like (arrow) keybindings (enabled in F9 > Options > Panel options
) and mouse clicks for navigation.
Modules
These can be called via the mc interface (with Use internal enabled in F9 > Options > Configuration
), or separately as symbolic links to the mc binary.
- mcedit - Text and binary file editor, with regex replace, syntax highlighting, macros and shell piping, see mcedit(1)
- mcview - Text and hex viewer with goto marks and regex search
-
mcdiff - Compares and edits two files in-place (
C-x d
)
Per mc
instance, multiple modules can be run concurrently (Ctrl-`
) (see Screen selector
). External editors may be used instead, and parameters configured accordingly.
Configuration
Most of the Midnight Commander settings can be changed from the menus. However, a small number of settings such as clipboard commands, codeset detection and parameters for external editors can only be changed from ~/.config/mc/ini
. See Special Settings
and following for a complete description of options.
Additionally, the following environment variables are respected:
MC_SKIN
, MC_KEYMAP
, MC_XDG_OPEN
, MC_COLOR_TABLE
, MC_DATADIR
, MC_HOME
, KEYBOARD_KEY_TIMEOUT_US
, PAGER
, EDITOR
, VIEWER
.
See also Files
.
extfs
extfs allows to easily create new virtual filesystems for mc. See /usr/lib/mc/extfs.d/README
for details.
Советы и рекомендации
Переназначение сочетаний клавиш
Создайте копию стандартных комбинаций клавиш для текущего пользователя:
cp /etc/mc/mc.keymap ~/.config/mc/
и отредактируйте файл под свои нужды. Вы можете использовать также другие файлы .keymap. Например, можно установить /etc/mc/mc.emacs.keymap
при помощи переменной окружения MC_KEYMAP
:
export MC_KEYMAP=/etc/mc/mc.emacs.keymap
Смотрите также mc(1) для получения более подробной информации.
Навигация стрелками
Чтобы иметь возможность навигации по каталогам с помощью клавиш со стрелками как в Lynx, перейдите в меню Options (F9
, o
) > Panel Options (p
) и установите флажок Lynx-like motion в группе Navigation (y
), затем нажмите OK (o
).
Запуск из меню
Midnight Commander можно запускать из меню, создав файл desktop entry. Пример:
[Desktop Entry] Type=Application Version=1.0 Name=Midnight Commander Comment=Visual file manager Exec=mc Icon=folder MimeType=inode/directory Terminal=true Categories=Utility;
Поддержка корзины
Midnight Commander не поддерживает функцию корзины.
Использование libtrash
Библиотека libtrash перехватывает вызовы функций удаления файлов и вместо удаления выполняет перемещение файлов в корзину.
Установите libtrashAUR из AUR и создайте псевдоним для mc в файле инициализации вашей командной оболочки (например, ~/.bashrc
или ~/.zshrc
):
alias mc='LD_PRELOAD=/usr/lib/libtrash.so.3.3 mc'
Чтобы изменения вступили в силу, переоткройте сеанс терминала или просто выполните скрипт инициализации командой source.
Стандартные настройки библиотеки находятся в файле /etc/libtrash.conf.sys
. Вы можете переопределить их для текущего пользователя, создав пользовательский файл настроек ~/.libtrash
, например:
TRASH_CAN = .Trash INTERCEPT_RENAME = NO IGNORE_EXTENSIONS= o;exe;com
Теперь, после запуска mc, удаляемые файлы будут попадать в каталог корзины ~/.Trash
.
- У этого способа существует побочный эффект: программы, запущенные из mc наследуют переменную окружения
LD_PRELOAD
, которая может вызывать проблемы в их работе. Смотрите [1] для более подробной информации. - С установленной опцией
GLOBAL_PROTECTION = YES
(значение по умолчанию), файлы вне домашнего каталога будут попадать в корзину, даже если они находятся на другом разделе диска. Такие файлы фактически перемещаются копированием и удалением из исходного расположения, поэтому процедура удаления в корзину файла на другом разделе может занимать продолжительное время.
Смотрите также [2].
Решение проблем
Выход в текущий каталог
При выходе, командная оболочка вернет вас с тот каталог, в котором вы запустили Midnight Commander. Если вы хотите, чтобы оставался текущий каталог, выбранный в Midnight Commander, простым решением будет просто скрывать интерфейс, не прерывая сеанс программы, нажатием Ctrl+O
.
Искаженное изображение
Нажмите Ctrl+L
для перерисовки интерфейса. Эта команда перерисует изображение, но не обновит список файлов в каталогах. Для обновления списка файлов на панелях используйте Ctrl+R
.
Opening files
mc uses xdg-open to open files by default, as shown in /usr/lib/mc/ext.d/
. While stderr is redirected, stdout is not, which may result in a garbled screen.
/usr/lib/mc/ext.d/*.sh
[ -n "${MC_XDG_OPEN}" ] || MC_XDG_OPEN="xdg-open" ... open) "${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" 2>/dev/null || \ do_open_action "${filetype}"
Create a script to wrap xdg-open:
~/bin/xdg-open-null
#!/bin/bash xdg-open "$@" >/dev/null
If mc is blocked until xdg-open ends, detach the process:
~/bin/xdg-open-null
#!/bin/bash nohup xdg-open "$@" >/dev/null &
and make mc aware of it by setting the MC_XDG_OPEN
environment variable:
export MC_XDG_OPEN=~/bin/xdg-open-null
unset LD_PRELOAD
before xdg-open in the script.Find file shows no results
If the Find file dialog (accessible with Alt+?
) shows no results, check the current directory for symbolic links. Find file does not follow symbolic links, so use bind mounts (see mount(2)) instead, or the External panelize command.