Midnight Commander is a
console application with a
text user interface. The main interface consists of two panels which display the
file system. File selection is done using
arrow keys, the insert key is used to select files and the
function keys perform operations such as renaming, editing and copying files. Later versions of the Midnight Commander additionally have
mouse support. Such versions are aware of
GPM and
X terminal emulators (such as
GNOME Terminal or
xterm) which support mouse reporting. When running inside an X terminal, these versions can update the name of the window in which Midnight Commander runs (if allowed by the terminal emulator). Midnight Commander's features include the ability to view the contents of
RPM package files, to work with common
archive formats as if they were simply another directory, and to function as an
FTP or
FISH client. Midnight Commander also includes an editor called mcedit, which can be executed as a standalone program or from Midnight Commander using the key. mcedit's features include
syntax highlighting for many languages, macros, code snippets, simple integration with external tools, automatic indentation, mouse support, a
clipboard and the ability to work in both
ASCII and
hex modes. Users also have the option to replace mcedit with the editor of their choice Options > Menu > Configuration > [Don't] Use Internal Edit. Midnight Commander can also rename groups of files, unlike a number of other
file managers that can only rename one file at a time. This is convenient for manipulating large collections of files, e.g. to make them conform to a new
naming convention. Midnight Commander can also move files to a different
directory at the same time as it renames them. It lets the user specify the original and resulting file names using
wildcard characters. This makes the power of
regular expressions available for renaming files, with a convenient user interface. In addition, the user can select whether or not to use "
shell patterns" or "
globs" (automatic grouping of wildcards). All of these features are available by using the File > Rename/Move menu selection. (Pressing would then produce a brief explanation of the options, including examples of how to use wildcards.) Midnight Commander is based on versatile text interfaces, such as
Ncurses or
S-Lang, which allow it to work on a regular console, inside an X terminal, over
SSH connections, over an
RS-232 interface (for embedded devices) and all kinds of remote shells. ==Unicode support==