Midnight Commander
mc or Midnight Commander is a powerful file manager working in a shell terminal.
Links
- Cool review of mc in action
- The GNOME Commander, a X alternative of mc under Gnome
- Krusader, a X alternative of mc under KDE
- Color schemes
VirtualFS
- Shell filesystem: /#sh:[user@]machine[:options]/[remote_dir]
Configuration
- To use vi as standard editor/viewer
- First menu Options → Configuration... → uncheck use internal edIt and Use internal view.
- Next, at the end of file .mc/bindings:
default/*
Open=
View=view %f
Edit=%var{EDITOR:vi} %f
- Edit /etc/mc/mc.keymap* to use C-n for Auto-Complete (instead of Alt-Tab that does not work in graphical environment) (see below)
- Check complete: show all (so that selection box is shown on first ambiguity)
- To have common history between mc sub-shell and parent shell: [1]:
alias mc='PROMPT_COMMAND="history -a; history -r" mc; history -r'
- Add the following to ~/.bash_profile and ~/.profile to Meta-key (Alt) not working and Midnight Commander displays
Press any key...
after each command when in tmux session [2]:
# This fix meta-key support and stop mc displaying "Press any key..." in tmux session
if [ $TERM = "screen" ]; then
export TERM=xterm
fi
if [ -n "$TMUX" ]; then
export COLORTERM=rxvt
fi
- Note: A better fix might be to do
mc -x
instead to force xterm mode. See ticket 2479 and ticket 2978 for more information.
Obsolete configuration (for old version):
- mc will only save the option ini file if there is a directory ~/.mc in home directory:
mkdir ~/.mc
Keyboard shortcuts
Frequently used keyboard shortcuts (custom shortcuts defined with Learn Keys... are underlined):
General:
Shell Command Line
|
Directory panels
|
Some work-arounds / advices:
- Gnome-Terminal conflict — Gnome Terminal shortcuts conflict with MC. Disable them in Keyboard shortcuts menu (Terminal menu shortcut key (F10) and Menu Access Keys (A-h).
- Auto-Complete does not work — The auto-complete shortcut M-Tab (i.e. Alt-Tab) doesn't work in graphical environment because it is used for switching between windows. As a replacement, one can use Esc-Tab, or can define a new shortcut like C-n (as in Vim).
Old version — This can be done with Options... → Learn Keys...
Newer version — The learn keys trick does not work anymore. Remove the learn key line from ~/.mc/ini and instead edit all files /etc/mc/mc.keymap* as follows:
- For mc version 4.7:
PanelMoveDown = down ... InputComplete = alt-tab; ctrl-n ... TreeMoveDown = down
- For mc version 4.8 and above:
[panel] ... MoveDown = down ... [input] ... Complete = alt-tab; ctrl-n ...
or via command-line:
sudo sed -ri 's/; ctrl-n//' /etc/mc/mc*.keymap
sudo sed -ri 's/Complete.*/Complete = alt-tab; ctrl-n' /etc/mc/mc*.keymap
- Lynx motion — This is a nice option to enable in the configuration menu. When enabled, enter a directory with right and exit a directory with left.
Official repository
Besides Ubuntu repository, the official one is here. To add it:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F82FBD49
Add file /etc/apt/sources.list.d:
deb http://ppa.launchpad.net/zyv/ppa/ubuntu lucid main deb-src http://ppa.launchpad.net/zyv/ppa/ubuntu lucid main
Then upgrade if needed:
sudo apt-get update
sudo apt-get upgrade
Troubleshoot
MC shows "press any key to continue..." when TERM=gnome-256color
Setting TERM is necessary to fix issues in Neovim.
- Workaround: start mc with
mc -x
to force xterm mode:
# MC - Force xterm mode if TERM=gnome-256color
[ "$TERM" = "gnome-256color" ] && alias mc='mc -x'
- Update: we don't change TERM anymore, so this fix is no longer necessary.
Ctrl-Shift-Enter not working in Wayland
This happens in latest Debian (Buster), and is due to Wayland security model [3].
As a fix, we can use Alt-M instead [4]:
sudo sed -ri '/PutCurrentFullSelected/s/=( alt-m;)?/= alt-m;/' /etc/mc/mc.default.keymap
sudo sed -ri '/Mail = alt-m/s/= alt-m/=/;' /etc/mc/mc.default.keymap