(start_search): don't start quick search if file panel is empty.
[midnight-commander.git] / doc / man / mc.1.in
blobfb32114711d20cedcb3d90c9d83d7724270b5126
1 .\" -*- mode: troff; coding: UTF-8 -*-
2 .\"TOPICS "Topics:"
3 .TH MC 1 "%DATE_OF_MAN_PAGE%" "MC Version %MAN_VERSION%" "GNU Midnight Commander"
4 .\"SKIP_SECTION"
5 .SH "NAME"
6 mc \- Visual shell for Unix\-like systems.
7 .\"SKIP_SECTION"
8 .SH "SYNOPSIS"
9 .B mc
10 [\-abcCdfhPstuUVx] [\-l log] [dir1 [dir2]] [\-e [file] ...] [\-v file]
11 .\"NODE "DESCRIPTION"
12 .SH "DESCRIPTION"
13 GNU Midnight Commander is a directory browser/file manager for
14 Unix\-like operating systems.
15 .\"NODE "OPTIONS"
16 .\"DONT_SPLIT"
17 .SH "OPTIONS"
18 .TP
19 .I \-a, \-\-stickchars
20 Disable usage of graphic characters for line drawing.
21 .TP
22 .I \-b, \-\-nocolor
23 Force black and white display.
24 .TP
25 .I \-c, \-\-color
26 Force color mode, please check the section
27 .\"LINK2"
28 Colors
29 .\"Colors"
30 for more information.
31 .TP
32 .I \-C arg, \-\-colors=arg
33 Specify a different color set in the command line.  The format of arg is
34 documented in the
35 .\"LINK2"
36 Colors
37 .\"Colors"
38 section.
39 .TP
40 .I \-\-configure\-options
41 Display configure options.
42 .TP
43 .I \-d, \-\-nomouse
44 Disable mouse support.
45 .TP
46 .I \-e [file], \-\-edit[=file]
47 Start the internal editor.  If the file is specified, open it on
48 startup.  See also
49 .BR "mcedit (1)" .
50 .TP
51 .I \-f, \-\-datadir
52 Display the compiled\-in search paths for Midnight Commander files.
53 .TP
54 .I \-F, \-\-datadir\-info
55 Display extended info about compiled\-in paths for
56 Midnight Commander.
57 .TP
58 .I \-g, \-\-oldmouse
59 Force a "normal tracking" mouse mode. Used when running on
60 xterm\-capable terminals (tmux/screen).
61 .TP
62 .I \-k, \-\-resetsoft
63 Reset softkeys to their default from the termcap/terminfo
64 database. Only useful on HP terminals when the function keys don't work.
65 .TP
66 .I \-K file, \-\-keymap=file
67 Specify a name of keymap file in the command line.
68 .TP
69 .I \-l file, \-\-ftplog=file
70 Save the ftpfs dialog with the server in file.
71 .TP
72 .I \-\-nokeymap
73 Don't load key bindings from any file, use default hardcoded keys.
74 .TP
75 .I \-P file, \-\-printwd=file
76 Print the last working directory to the specified file.  This option is
77 not meant to be used directly.  Instead, it's used from a special shell
78 script that automatically changes the current directory of the shell to
79 the last directory Midnight Commander was in. Source the file
80 .B %pkglibexecdir%/mc.sh
81 (bash and zsh users) or
82 .B %libexecdir%/mc.csh
83 (tcsh users) respectively to define
84 .B mc
85 as an alias to the appropriate shell script.
86 .TP
87 .I \-s, \-\-slow
88 Turn on the slow terminal mode, in this mode the program will not draw
89 expensive line drawing characters and will toggle verbose mode off.
90 .TP
91 .I \-S arg, \-\-skin=arg
92 Specify a name of skin in the command line. Technology of skins is
93 documented in the
94 .\"LINK2"
95 Skins
96 .\"Skins"
97 section.
98 .TP
99 .I \-t, \-\-termcap
100 Used only if the code was compiled with S\-Lang and terminfo: it makes
101 Midnight Commander use the value of the
102 .B TERMCAP
103 variable for the terminal information instead of the information on
104 the system wide terminal database
106 .I \-u, \-\-nosubshell
107 Disable use of the concurrent shell (only makes sense if Midnight
108 Commander has been built with concurrent shell support).
110 .I \-U, \-\-subshell
111 Enable use of the concurrent shell support (only makes sense if the
112 Midnight Commander was built with the subshell support set as an
113 optional feature).
115 .I \-v file, \-\-view=file
116 Start the internal viewer to view the specified file.  See also
117 .BR "mcview (1)" .
119 .I \-V, \-\-version
120 Display the version of the program.
122 .I \-x, \-\-xterm
123 Force xterm mode.  Used when running on xterm\-capable terminals (two
124 screen modes, and able to send mouse escape sequences).
126 .I \-X, \-\-no\-x11
127 Do not use X11 to get the state of modifiers Alt, Ctrl, Shift
129 If both paths are specified, the first path name is the directory to show
130 in the active panel; the second path name is the directory to be shown in
131 the other panel.
133 If one path is specified, the path name is the directory to show
134 in the active panel; value of "other_dir" from panels.ini is the directory
135 to be shown in the passive panel.
137 If no paths are specified, current directory is shown in the active panel;
138 value of "other_dir" from panels.ini is the directory to be shown in
139 the passive panel.
140 .\"NODE "Overview"
141 .SH "Overview"
142 The screen of Midnight Commander is divided into four parts.
143 Almost all of the screen space is taken up by two directory panels.
144 By default, the second line from the bottom of the screen is the
145 shell command line, and the bottom line shows the function key labels.
146 The topmost line is the
147 .\"LINK2"
148 menu bar line\&.
149 .\"Menu Bar"
150 The menu bar line may not be visible, but appears if you click the
151 topmost line with the mouse or press the F9 key.
153 Midnight Commander provides a view of two directories at the same
154 time. One of the panels is the current panel (a selection bar is in
155 the current panel). Almost all operations take place on the current
156 panel. Some file operations like Rename and Copy by default use the
157 directory of the unselected panel as a destination (don't worry, they
158 always ask you for confirmation first). For more information, see the
159 sections on the
160 .\"LINK2"
161 Directory Panels\&,
162 .\"Directory Panels"
164 .\"LINK2"
165 Left and Right Menus
166 .\"Left and Right Menus"
167 and the
168 .\"LINK2"
169 File Menu\&.
170 .\"File Menu"
172 You can execute system commands from Midnight Commander by simply
173 typing them. Everything you type will appear on the shell command line,
174 and when you press Enter, Midnight Commander will execute the
175 command line you typed; read the
176 .\"LINK2"
177 Shell Command Line
178 .\"Shell Command Line"
180 .\"LINK2"
181 Input Line Keys
182 .\"Input Line Keys"
183 sections to learn more about the command line.
184 .\"NODE "Mouse Support"
185 .SH "Mouse Support"
186 Midnight Commander comes with mouse support. It is activated
187 whenever you are running on an
188 .B xterm(1)
189 terminal (it even works if you take a telnet, ssh or rlogin connection to
190 another machine from the xterm) or if you are running on a Linux
191 console and have the
192 .B gpm
193 mouse server running.
195 When you left click on a file in the directory panels, that file is
196 selected; if you click with the right button, the file is marked (or
197 unmarked, depending on the previous state).
199 Double\-clicking on a file will try to execute the command if it is
200 an executable program; and if the
201 .\"LINK2"
202 extension file
203 .\"Edit Extension File"
204 has a program specified for the file's extension, the specified
205 program is executed.
207 Also, it is possible to execute the commands assigned to the function
208 key labels by clicking on them.
210 The default auto repeat rate for the mouse buttons is 400
211 milliseconds. This may be changed to other values by editing the
212 .\"LINK2"
213 \&~/.config/mc/ini
214 .\"Save Setup"
215 file and changing the
216 .I mouse_repeat_rate
217 parameter.
219 If you are running Midnight Commander with the mouse support, you
220 can get the default mouse behavior (cutting and pasting text) by holding
221 down the Shift key.
222 .SH ""
223 .\"NODE "Keys"
224 .SH "Keys"
225 Some commands in Midnight Commander involve the use of the
226 .I Control
227 (sometimes labeled CTRL or CTL) and the
228 .I Meta
229 (sometimes labeled ALT or even Compose) keys. In this manual we will
230 use the following abbreviations:
232 .B C\-<chr>
233 means hold the Control key while typing the character <chr>.
234 Thus C\-f would be: hold the Control key and type f.
236 .B Alt\-<chr>
237 means hold the Meta or Alt key down while typing <chr>.
238 If there is no Meta or Alt key, type
239 .IR Esc ,
240 release it, then type the character <chr>.
242 .B S\-<chr>
243 means hold the Shift key down while typing <chr>.
245 All input lines in Midnight Commander use an approximation to
246 the GNU Emacs editor's key bindings (default).
248 You may redefine key bindings. See
249 .\"LINK2"
250 .I redefine hotkey bindings
251 .\"Keys_redefine"
253 for more info. All other key bindings (described in this manual) are relative
254 to default behavior.
257 There are many sections which tell about the keys. The following are
258 the most important.
261 .\"LINK2"
262 File Menu
263 .\"File Menu"
264 section documents the keyboard shortcuts for the commands appearing in
265 the File menu. This section includes the function keys. Most of these
266 commands perform some action, usually on the selected file or the
267 tagged files.
270 .\"LINK2"
271 Directory Panels
272 .\"Directory Panels"
273 section documents the keys which select a file or tag files as a
274 target for a later action (the action is usually one from the file
275 menu).
278 .\"LINK2"
279 Shell Command Line
280 .\"Shell Command Line"
281 section list the keys which are used for entering and editing command
282 lines. Most of these copy file names and such from the directory
283 panels to the command line (to avoid excessive typing) or access the
284 command line history.
286 .\"LINK2"
287 Input Line Keys
288 .\"Input Line Keys"
289 are used for editing input lines. This means both the command line and
290 the input lines in the query dialogs.
292 .\"NODE "  Keys_redefine"
293 .SH "  Redefine hotkey bindings"
294 Hotkey bindings may be read from external file (keymap\-file).
295 Initially, Midnight Commander creates key bindings using keymap defined
296 in the source code. Then, two files
297 .B %pkgdatadir%/mc.keymap
299 .B %sysconfdir%/mc/mc.keymap
300 are loaded always, sequentially reassigned key bindings defined earlier.
301 User\-defined keymap\-file is searched on the following algorithm (to the first one found):
304 1) command line option
305 .B \-K <keymap>
307 .B \-\-keymap=<keymap>
309 2) Environment variable
310 .B MC_KEYMAP
312 3) Parameter
313 .B keymap
314 in section
315 .B [Midnight\-Commander]
316 of config file.
318 4) File
319 .B ~/.config/mc/mc.keymap
322 Command line option, environment variable and parameter in config file may
323 contain the absolute path to the keymap\-file (with the extension \.keymap
324 or without it). Search of keymap\-file will occur in (to the first one found):
328 .B ~/.config/mc
331 .B %sysconfdir%/mc/
334 .B %pkgdatadir%/
336 .\"NODE "  Miscellaneous Keys"
337 .SH "  Miscellaneous Keys"
338 Here are some keys which don't fall into any of the other categories:
340 .B Enter
341 if there is some text in the command line (the one at the bottom of
342 the panels), then that command is executed. If there is no text in the
343 command line then if the selection bar is over a directory the
344 Midnight Commander does a
345 .B chdir(2)
346 to the selected directory and reloads the information on the panel;
347 if the selection is an executable file then it is executed. Finally,
348 if the extension of the selected file name matches one of the
349 extensions in the
350 .\"LINK2"
351 extensions file
352 .\"Edit Extension File"
353 then the corresponding command is executed.
355 .B C\-l
356 repaint all the information in Midnight Commander.
358 .B C\-x c
359 run the
360 .\"LINK2"
361 Chmod
362 .\"Chmod"
363 command on a file or on the tagged files.
365 .B C\-x o
366 run the
367 .\"LINK2"
368 Chown
369 .\"Chown"
370 command on the current file or on the tagged files.
372 .B C\-x l
373 run the hard link command.
375 .B C\-x s
376 run the absolute symbolic link command.
378 .B C\-x v
379 run the relative symbolic link command. See the
380 .\"LINK2"
381 File Menu
382 .\"File Menu"
383 section for more information about symbolic links.
385 .B C\-x i
386 set the other panel display mode to information.
388 .B C\-x q
389 set the other panel display mode to quick view.
391 .B C\-x !
392 execute the
393 .\"LINK2"
394 External panelize
395 .\"External panelize"
396 command.
398 .B C\-x h
399 run the
400 .\"LINK2"
401 add directory to hotlist
402 .\"Hotlist"
403 command.
405 .B Alt\-!
406 executes the Filtered view command, described in the
407 .\"LINK2"
408 view command\&.
409 .\"Internal File Viewer"
411 .B Alt\-?
412 executes the
413 .\"LINK2"
414 Find file
415 .\"Find File"
416 command.
418 .B Alt\-c
419 pops up the
420 .\"LINK2"
421 quick cd
422 .\"Quick cd"
423 dialog.
425 .B C\-o
426 when the program is being run in the Linux or FreeBSD console or under
427 an xterm, it will show you the output of the previous command.  When ran
428 on the Linux console, Midnight Commander uses an external program
429 (cons.saver) to handle saving and restoring of information on the
430 screen.
432 When the subshell support is compiled in, you can type C\-o at any time
433 and you will be taken back to Midnight Commander's main screen, to
434 return to your application just type C\-o.  If you have an application
435 suspended by using this trick, you won't be able to execute other
436 programs from Midnight Commander until you terminate the suspended
437 application.
438 .\"NODE "  Directory Panels"
439 .SH "  Directory Panels"
440 This section lists the keys which operate on the directory panels. If
441 you want to know how to change the appearance of the panels take a
442 look at the section on
443 .\"LINK2"
444 Left and Right Menus\&.
445 .\"Left and Right Menus"
447 .B Tab, C\-i
448 change the current panel. The old other panel becomes the new current
449 panel and the old current panel becomes the new other panel. The
450 selection bar moves from the old current panel to the new current
451 panel.
453 .B Insert, C\-t
454 to tag files you may use the Insert key (the kich1 terminfo sequence).
455 To untag files, just retag a tagged file.
457 .B Alt\-e
458 to change charset of panel you may use Alt\-e (M\-e).
459 Recoding is made from selected codepage into system codepage. To
460 cancel the recoding, select "No translation" in the dialog of encodings.
462 .B Alt\-g, Alt\-r, Alt\-j
463 used to select the top file in a panel, the middle file and the bottom one,
464 respectively.
466 .B Alt\-t
467 toggle the current display listing to show the next display listing
468 format.
469 With this it is possible to quickly switch to brief listing, long
470 listing, user defined listing format, and back to the default.
472 .B C\-\\\\ (control\-backslash)
473 show the
474 .\"LINK2"
475 directory hotlist
476 .\"Hotlist"
477 and change to the selected directory.
479 .B + \ (plus)
480 this is used to select (tag) a group of files. Midnight Commander
481 will prompt for a selection options. When
482 .I Files only
483 checkbox is on, only files will be selected.  If
484 .I Files only
485 is off, as files as directories will be selected.
486 When
487 .I Shell Patterns
488 checkbox is on, the regular expression is much like the filename globbing
489 in the shell (* standing for zero or more characters and ? standing
490 for one character). If
491 .I Shell Patterns
492 is off, then the tagging of files is done with normal regular
493 expressions (see ed (1)). When
494 .I Case sensitive
495 checkbox is on, the selection will be case sensitive characters.
497 .I Case sensitive
498 is off, the case will be ignored.
500 .B \\\\ (backslash)
501 use the "\\" key to unselect a group of files. This is the opposite of
502 the Plus key.
504 .B up\-key, C\-p
505 move the selection bar to the previous entry in the panel.
507 .B down\-key, C\-n
508 move the selection bar to the next entry in the panel.
510 .B home, a1, Alt\-<
511 move the selection bar to the first entry in the panel.
513 .B end, c1, Alt\->
514 move the selection bar to the last entry in the panel.
516 .B next\-page, C\-v
517 move the selection bar one page down.
519 .B prev\-page, Alt\-v
520 move the selection bar one page up.
522 .B Alt\-o
523 If the currently selected file is a directory, load that directory on
524 the other panel and moves the selection to the next file. If the
525 currently selected file is not a directory, load the parent directory
526 on the other panel and moves the selection to the next file.
528 .B Alt\-i
529 make the current directory of the current panel also the current
530 directory of the other panel.  Put the other panel to the listing mode
531 if needed.  If the current panel is panelized, the other panel doesn't
532 become panelized.
534 .B C\-PageUp, C\-PageDown
535 only when supported by the terminal: change to ".." and to the currently
536 selected directory respectively.
538 .B Alt\-y
539 moves to the previous directory in the history, equivalent to clicking
541 .I <
542 with the mouse.
544 .B Alt\-u
545 moves to the next directory in the history, equivalent to clicking the
546 .I >
547 with the mouse.
549 .B Alt\-S\-h, Alt\-H
550 displays the directory history, equivalent to depressing the 'v' with
551 the mouse.
552 .\"NODE "  Quick search"
553 .SH "  Quick search"
554 The Quick search mode allows you to perform fast file search in file panel.
555 Press
556 .I C\-s
558 .I Alt\-s
559 to start a filename search in the directory listing.
561 When the search is active, the user input will be added to the search string
562 instead of the command line. If the
563 .I Show mini\-status
564 option is enabled the search string is shown on the mini\-status
565 line. When typing, the selection bar will move to the next file
566 starting with the typed letters. The
567 .I Backspace
569 .I DEL
570 keys can be used to correct typing mistakes. If C\-s is pressed
571 again, the next match is searched for.
573 If quick search is started with double pressing of C\-s, the previous quick
574 search pattern will be used for current search.
576 Besides the filename characters, you can also use wildcard
577 characters '*' and '?'.
578 .\"NODE "  Shell Command Line"
579 .SH "  Shell Command Line"
580 This section lists keys which are useful to avoid excessive typing when
581 entering shell commands.
583 .B Alt\-Enter
584 copy the currently selected file name to the command line.
586 .B C\-Enter
587 same a Alt\-Enter.  May not work on remote systems and some terminals.
589 .B C\-S\-Enter
590 copy the full path name of the currently selected file to the command
591 line.  May not work on remote systems and some terminals.
593 .B Alt\-Tab
594 does the filename, command, variable, username and hostname
595 .\"LINK2"
596 completion
597 .\"Completion"
598 for you.
600 .B C\-x t, C\-x C\-t
601 copy the tagged files (or if there are no tagged files, the selected
602 file) of the current panel (C\-x t) or of the other panel (C\-x C\-t) to
603 the command line.
605 .B C\-x p, C\-x C\-p
606 the first key sequence copies the current path name to the command
607 line, and the second one copies the unselected panel's path name to
608 the command line.
610 .B C\-q
611 the quote command can be used to insert characters that are otherwise
612 interpreted by Midnight Commander (like the '+' symbol)
614 .B Alt\-p, Alt\-n
615 use these keys to browse through the command history. Alt\-p takes you
616 to the last entry, Alt\-n takes you to the next one.
618 .B Alt\-h
619 displays the history for the current input line.
620 .\"NODE "  General Movement Keys"
621 .SH "  General Movement Keys"
622 The help viewer, the file viewer and the directory tree use common
623 code to handle moving. Therefore they accept exactly the same
624 keys. Each of them also accepts some keys of its own.
626 Other parts of Midnight Commander use some of the same movement
627 keys, so this section may be of use for those parts too.
629 .B Up, C\-p
630 moves one line backward.
632 .B Down, C\-n
633 moves one line forward.
635 .B Prev Page, Page Up, Alt\-v
636 moves one page up.
638 .B Next Page, Page Down, C\-v
639 moves one page down.
641 .B Home, A1
642 moves to the beginning.
644 .B End, C1
645 move to the end.
647 The help viewer and the file viewer accept the following keys in
648 addition the to ones mentioned above:
650 .B b, C\-b, C\-h, Backspace, Delete
651 moves one page up.
653 .B Space bar
654 moves one page down.
656 .B u, d
657 moves one half of a page up or down.
659 .B g, G
660 moves to the beginning or to the end.
661 .\"NODE "  Input Line Keys"
662 .SH "  Input Line Keys"
663 The input lines (they are used for the
664 .\"LINK2"
665 command line
666 .\"Shell Command Line"
667 and for the query dialogs in the program) accept these keys:
669 .B C\-a
670 puts the cursor at the beginning of line.
672 .B C\-e
673 puts the cursor at the end of the line.
675 .B C\-b, move\-left
676 move the cursor one position left.
678 .B C\-f, move\-right
679 move the cursor one position right.
681 .B Alt\-f
682 moves one word forward.
684 .B Alt\-b
685 moves one word backward.
687 .B C\-h, Backspace
688 delete the previous character.
690 .B C\-d, Delete
691 delete the character in the point (over the cursor).
693 .B C\-@
694 sets the mark for cutting.
696 .B C\-w
697 copies the text between the cursor and the mark to a kill buffer and
698 removes the text from the input line.
700 .B Alt\-w
701 copies the text between the cursor and the mark to a kill buffer.
703 .B C\-y
704 yanks back the contents of the kill buffer.
706 .B C\-k
707 kills the text from the cursor to the end of the line.
709 .B Alt\-p, Alt\-n
710 Use these keys to browse through the command history. Alt\-p takes you
711 to the last entry, Alt\-n takes you to the next one.
713 .B Alt\-C\-h, Alt\-Backspace
714 delete one word backward.
716 .B Alt\-Tab
717 does the filename, command, variable, username and hostname
718 .\"LINK2"
719 completion
720 .\"Completion"
721 for you.
722 .SH ""
723 .\"NODE "Menu Bar"
724 .SH "Menu Bar"
725 The menu bar pops up when you press F9 or click the mouse on the top
726 row of the screen. The menu bar has five menus: "Left", "File",
727 "Command", "Options" and "Right".
730 .\"LINK2"
731 Left and Right Menus
732 .\"Left and Right Menus"
733 allow you to modify the appearance of the left and right directory
734 panels.
737 .\"LINK2"
738 File Menu
739 .\"File Menu"
740 lists the actions you can perform on the currently selected file or
741 the tagged files.
744 .\"LINK2"
745 Command Menu
746 .\"Command Menu"
747 lists the actions which are more general and bear no relation to the
748 currently selected file or the tagged files.
751 .\"LINK2"
752 Options Menu
753 .\"Options Menu"
754 lists the actions which allow you to customize Midnight Commander.
755 .\"NODE "  Left and Right Menus"
756 .SH "  Left and Right (Above and Below) Menus"
757 The outlook of the directory panels can be changed from the
758 .B Left
760 .B Right
761 menus (they are named
762 .B Above
764 .B Below
765 when the horizontal panel split is chosen from the
766 .\"LINK2"
767 Layout
768 .\"Layout"
769 options dialog).
770 .\"NODE "    Listing Format..."
771 .SH "    Listing Format..."
772 The listing mode view is used to display a listing of files, there are
773 four different listing formats available:
774 .BR Full ,
775 .BR Brief ,
776 .B Long
778 .BR User .
779 The full directory view shows the file name, the size of the file and
780 the modification time.
782 The brief view shows only the file name and it has from 1 up to 9 columns
783 (therefore showing more files unlike other views). The long view
784 is similar to the output of
785 .B "ls \-l"
786 command. The long view takes the whole screen width.
788 If you choose the "User" display format, then you have to specify
789 the display format.
791 The user display format must start with a panel size specifier.  This
792 may be "half" or "full", and they specify a half screen panel and a
793 full screen panel respectively.
795 After the panel size, you may specify how many listings to fit in the
796 panel, side\-by\-side (in other words: how many times to repeat the
797 fields horizontally). This defaults to 1. You may change this by adding a
798 number from 1 to 9 to the format string.
800 After this you add the name of the fields with an optional size
801 specifier.  This are the available fields you may display:
803 .B name
804 displays the file name.
806 .B size
807 displays the file size.
809 .B bsize
810 is an alternative form of the
811 .B size
812 format. It displays the size of the files and for directories it just
813 shows SUB\-DIR or UP\-\-DIR.
815 .B type
816 displays a one character wide type field.  This character is similar to
817 what is displayed by ls with the \-F flag \-
818 .B *
819 for executable files,
820 .B /
821 for directories,
822 .B @
823 for links,
824 .B =
825 for sockets,
826 .B \-
827 for character devices,
828 .B +
829 for block devices,
830 .B |
831 for pipes,
832 .B ~
833 for symbolic links to directories and
834 .B !
835 for stale symlinks (links that point nowhere).
837 .B mark
838 an asterisk if the file is tagged, a space if it's not.
840 .B mtime
841 file's last modification time.
843 .B atime
844 file's last access time.
846 .B ctime
847 file's status change time.
849 .B perm
850 a string representing the current permission bits of the file.
852 .B mode
853 an octal value with the current permission bits of the file.
855 .B nlink
856 the number of links to the file.
858 .B ngid
859 the GID (numeric).
861 .B nuid
862 the UID (numeric).
864 .B owner
865 the owner of the file.
867 .B group
868 the group of the file.
870 .B inode
871 the inode of the file.
873 Also you can use following keywords to define the panel layout:
875 .B space
876 a space in the display format.
878 .B |
879 add a vertical line to the display format.
881 To force one field to a fixed size (a size specifier), you just add
882 .B :
883 followed by the number of characters you want the field to have.  If the
884 number is followed by the symbol
885 .BR + ,
886 then the size specifies the minimal field size \- if the program finds
887 out that there is more space on the screen, it will then expand that
888 field.
890 For example, the
891 .B Full
892 display corresponds to this format:
894 half type name | size | mtime
896 And the
897 .B Long
898 display corresponds to this format:
900 full perm space nlink space owner space group space size space mtime
901 space name
903 This is a nice user display format:
905 half name | size:7 | type mode:3
907 Panels may also be set to the following modes:
909 .B "Info"
910 The info view display information related to the currently
911 selected file and if possible information about the current file
912 system.
914 .B "Tree"
915 The tree view is quite similar to the
916 .\"LINK2"
917 directory tree
918 .\"Directory Tree"
919 feature. See the section about it for more information.
921 .B "Quick View"
922 In this mode, the panel will switch to a reduced
923 .\"LINK2"
924 viewer
925 .\"Internal File Viewer"
926 that displays the contents of the currently selected file, if you
927 select the panel (with the tab key or the mouse), you will have access
928 to the usual viewer commands.
929 .\"NODE "    Sort Order..."
930 .SH "    Sort Order..."
931 The eight sort orders are by name, by extension, by modification time,
932 by access time, and by inode information modification time, by size,
933 by inode and unsorted.  In the Sort order dialog box you can choose
934 the sort order and you may also specify if you want to sort in reverse
935 order by checking the reverse box.
937 By default directories are sorted before files but this can be changed
938 from the
939 .\"LINK2"
940 Panel options
941 .\"Panel options"
942 menu (option
943 .BR "Mix all files" ).
944 .\"NODE "    Filter..."
945 .SH "    Filter..."
946 The filter command allows you to specify a shell pattern (for example
947 .BR "*.tar.gz" )
948 which the files and directories must match to be shown.
950 .\"LINK2"
951 input line
952 .\"Input Line Keys"
953 allow enter the pattern of file/directory names that will be shown
954 in the panel.
956 When
957 .I Files only
958 checkbox is on, only files will be matched to the filter, and all
959 directories will be shown. Otherwise, as files as directories will
960 be filtered. When
961 .I Shell Patterns
962 checkbox is on, the regular expression is much like the filename globbing
963 in the shell (* standing for zero or more characters and ? standing
964 for one character). Otherwise, the matching of files/directories is done
965 with normal regular expressions (see ed(1)). When
966 .I Case sensitive
967 checkbox is on, the filtering will be case sensitive characters. Otherwise,
968 the case will be ignored.
969 .\"NODE "    Reread"
970 .SH "    Reread"
971 The reread command reload the list of files in the directory. It is
972 useful if other processes have created or removed files.
973 .\"NODE "  File Menu"
974 .SH "  File Menu"
975 Midnight Commander uses the F1 \- F10 keys as keyboard shortcuts
976 for commands appearing in the file menu.  The escape sequences for the
977 function keys are terminfo capabilities kf1 trough kf10.  On terminals
978 without function key support, you can achieve the same functionality by
979 pressing the Esc key and then a number in the range 1 through 9 and 0
980 (corresponding to F1 to F9 and F10 respectively).
982 The File menu has the following commands (keyboard shortcuts in parentheses):
984 .B Help (F1)
986 Invokes the built\-in hypertext help viewer. Inside the
987 .\"LINK2"
988 help viewer\&,
989 .\"Contents"
990 you can use the Tab key to select the next link and the Enter key to
991 follow that link. The keys Space and Backspace are used to move
992 forward and backward in a help page. Press F1 again to get the full
993 list of accepted keys.
995 .B Menu (F2)
997 Invoke the
998 .\"LINK2"
999 user menu\&.
1000 .\"Edit Menu File"
1001 The user menu provides an easy way to provide users with a menu and
1002 add extra features to Midnight Commander.
1004 .B View (F3, F13)
1006 View the currently selected file. By default this invokes the
1007 .\"LINK2"
1008 Internal File Viewer
1009 .\"Internal File Viewer"
1010 but if the option "Use internal view" is off, it invokes an external
1011 file viewer specified by the
1012 .B VIEWER
1013 environment variable.  If
1014 .B VIEWER
1015 is undefined, the
1016 .B PAGER
1017 environment variable is tried.  If
1018 .B PAGER
1019 is also undefined, the "view" command is invoked.  If you use F13
1020 instead, the viewer will be invoked without doing any formatting or
1021 preprocessing to the file.
1024 .\"LINK2"
1025 parameters for external viewer
1026 .\"Parameters for external editor or viewer"
1027 for explain how you may specify an extended command line options
1028 for external viewers.
1030 .B Filtered View (Alt\-!)
1032 This command prompts for a command
1033 and its arguments (the argument defaults to the currently selected
1034 file name), the output from such command is shown in the internal file
1035 viewer.
1037 .B Edit (F4, F14)
1039 Press F4 to edit the highlighted file.  Press F14 (usually F14)
1040 to start the editor with a new, empty file.
1041 Currently they invoke the
1042 .B vi
1043 editor, or the editor specified in the
1044 .B EDITOR
1045 environment variable, or the
1046 .\"LINK2"
1047 Internal File Editor
1048 .\"Internal File Editor"
1049 if the use_internal_edit option is on.
1052 .\"LINK2"
1053 parameters for external editor
1054 .\"Parameters for external editor or viewer"
1055 for explain how you may specify an extended command line options
1056 for external editors.
1058 .B Copy (F5, F15)
1060 Press F5 to pop up an input dialog to copy the currently selected file (or
1061 the tagged files, if there is at least one file tagged) to the
1062 directory/filename you specify in the input dialog. The destination
1063 defaults to the directory in the non\-selected panel. Space for destination
1064 file may be preallocated relative to preallocate_space configure option.
1065 During this process, you can press C\-c or Esc to abort the operation.
1066 For details about source mask (which will be usually either * or ^\\(.*\\)$
1067 depending on setting of Use shell patterns) and possible wildcards in the
1068 destination see
1069 .\"LINK2"
1070 Mask copy/rename\&.
1071 .\"Mask Copy/Rename"
1073 F15 (usually F15) is similar, but defaults to the directory in the
1074 selected panel. It always operates on the selected file, regardless of
1075 any tagged files.
1077 On some systems, it is possible to do the copy in the background by
1078 clicking on the background button (or pressing Alt\-b in the dialog
1079 box).  The
1080 .\"LINK2"
1081 Background Jobs
1082 .\"Background jobs"
1083 is used to control the background process.
1085 .B Link (C\-x l)
1087 Create a hard link to the current file.
1089 .B Absolute symlink (C\-x s)
1091 Create a absolute symbolic link to the current file.
1093 .B Relative symLink (C\-x v)
1095 Create a relative symbolic link to the current file.
1097 To those of you who don't know what links are: creating a link to a file
1098 is a bit like copying the file, but both the source filename and the destination
1099 filename represent the same file image. For example, if you edit one of these
1100 files, all changes you make will appear in both files. Some people call
1101 links aliases or shortcuts.
1103 A hard link appears as a real file. After making it, there is no way of
1104 telling which one is the original and which is the link. If you delete
1105 either one of them the other one is still intact. It is very difficult
1106 to notice that the files represent the same image. Use hard links when
1107 you don't even want to know.
1109 A symbolic link is a reference to the name of the original file. If
1110 the original file is deleted the symbolic link is useless. It is quite
1111 easy to notice that the files represent the same image. Midnight
1112 Commander shows an "@"\-sign in front of the file name if it is a
1113 symbolic link to somewhere (except to directory, where it shows a tilde (~)).
1114 The original file which the link points to is shown on mini\-status line if the
1115 .I "Show mini\-status"
1116 option is enabled. Use symbolic links when you want to avoid the
1117 confusion that can be caused by hard links.
1119 When you press "C\-x s" Midnight Commander will automatically fill in the
1120 complete path+filename of the original file and suggest a name for the link.
1121 You can change either one.
1123 Sometimes you may want to change the absolute path of the original into
1124 a relative path. An absolute path starts from the root directory:
1126 .I /home/frodo/mc/mc \-> /home/frodo/new/mc
1128 A relative link describes the original file's location starting from the
1129 location of the link itself:
1131 .I /home/frodo/mc/mc \-> ../new/mc
1133 You can force Midnight Commander to suggest a relative path by pressing
1134 "C\-x v" instead of "C\-x s".
1136 .B Rename/Move (F6, F16)
1138 Press F6 to pop up an input dialog to copy the currently selected file (or
1139 the tagged files, if there is at least one file tagged) to the
1140 directory/filename you specify in the input dialog.  The destination
1141 defaults to the directory in the non\-selected panel. For more details
1142 look at Copy (F5) operation above, most of the things are quite similar.
1144 F16 (usually F16) is similar, but defaults to the directory in the
1145 selected panel. It always operates on the selected file, regardless of
1146 any tagged files.
1148 On some systems, it is possible to do the copy in the background by
1149 clicking on the background button (or pressing Alt\-b in the dialog
1150 box).  The
1151 .\"LINK2"
1152 Background Jobs
1153 .\"Background jobs"
1154 is used to control the background process.
1156 .B Mkdir (F7)
1158 Pop up an input dialog and creates the directory specified.
1160 .B Delete (F8)
1162 Delete the currently selected file or the tagged files in the
1163 currently selected panel. During the process, you can press C\-c or
1164 Esc to abort the operation.
1166 .B Quick cd (Alt\-c)
1167 Use the
1168 .\"LINK2"
1169 quick cd
1170 .\"Quick cd"
1171 command if you have full command line and want to cd somewhere.
1173 .B Select group (+)
1175 This is used to select (tag) a group of files. Midnight Commander
1176 will prompt for a selection options. When
1177 .I Files only
1178 checkbox is on, only files will be selected.  If
1179 .I Files only
1180 is off, as files as directories will be selected.
1181 When
1182 .I Shell Patterns
1183 checkbox is on, the regular expression is much like the filename globbing
1184 in the shell (* standing for zero or more characters and ?  standing
1185 for one character). If
1186 .I Shell Patterns
1187 is off, then the tagging of files is done with normal regular
1188 expressions (see ed (1)). When
1189 .I Case sensitive
1190 checkbox is on, the selection will be case sensitive characters.
1192 .I Case sensitive
1193 is off, the case will be ignored.
1195 .B Unselect group (\\\\)
1197 Used to unselect a group of files. This is the opposite of the
1198 .I "Select group"
1199 command.
1201 .B Quit (F10, S\-F10)
1203 Terminate Midnight Commander. S\-F10 is used when you want to
1204 quit and you are using the shell wrapper.  S\-F10 will not take you
1205 to the last directory you visited with Midnight Commander, instead
1206 it will stay at the directory where you started Midnight Commander.
1207 .\"NODE "    Quick cd"
1208 .SH "    Quick cd"
1209 This command is useful if you have a full command line and want to
1210 .\"LINK2"
1212 .\"The cd internal command"
1213 somewhere without having to yank and paste the command line. This command
1214 pops up a small dialog, where you enter everything you would enter after
1215 .B cd
1216 on the command line and then you press enter. This features all the things
1217 that are already in the
1218 .\"LINK2"
1219 internal cd command\&.
1220 .\"The cd internal command"
1221 .\"NODE "  Command Menu"
1222 .SH "  Command Menu"
1224 .\"LINK2"
1225 Directory tree
1226 .\"Directory Tree"
1227 command shows a tree figure of the directories.
1230 .\"LINK2"
1231 "Find file"
1232 .\"Find File"
1233 command allows you to search for a specific file.
1235 The "Swap panels" command swaps the contents of the two directory panels.
1237 The "Switch panels on/off" command shows the output of the last shell command.
1238 This works only on xterm and on Linux and FreeBSD console.
1240 The "Compare directories" command compares the directory
1241 panels with each other. You can then use the Copy (F5) command to make
1242 the panels identical. There are three compare methods. The quick method
1243 compares only file size and file date. The thorough method makes a
1244 full byte\-by\-byte compare. The size\-only
1245 compare method just compares the file sizes and does not check the
1246 contents or the date times, it just checks the file size.
1249 .\"LINK2"
1250 "External panelize"
1251 .\"External panelize"
1252 allows you to execute an external program, and make the output of that
1253 program the contents of the current panel.
1255 The "Command history" command shows a list of typed commands. The
1256 selected command is copied to the command line. The command history
1257 can also be accessed by typing Alt\-p or Alt\-n.
1260 .\"LINK2"
1261 "Directory hotlist"
1262 .\"Hotlist"
1263 command makes changing of the current directory to often used directories
1264 faster.
1267 .\"LINK2"
1268 "Screen list"
1269 .\"Screen selector"
1270 command shows a dialog window with the list of currently running
1271 internal editors, viewers and other MC modules that support this mode.
1274 .\"LINK2"
1275 "Edit extension file"
1276 .\"Edit Extension File"
1277 command allows you to specify programs to executed when you try to
1278 execute, view, edit and do a bunch of other thing on files
1279 with certain extensions (filename endings).
1282 .\"LINK2"
1283 "Edit Menu File"
1284 .\"Edit Menu File"
1285 command may be used for editing the user menu (which appears by
1286 pressing F2).
1287 .\"NODE "    Directory Tree"
1288 .SH "    Directory Tree"
1289 The Directory Tree command shows a tree figure of the directories. You
1290 can select a directory from the figure and Midnight Commander will
1291 change to that directory.
1293 There are two ways to invoke the tree. The real directory tree command
1294 is available from Commands menu. The other way is to select tree view
1295 from the Left or Right menu.
1297 To get rid of long delays, Midnight Commander creates the tree
1298 figure by scanning only a small subset of all the directories. If the
1299 directory which you want to see is missing, move to its parent
1300 directory and press C\-r (or F2).
1302 You can use the following keys:
1304 .\"LINK2"
1305 General movement keys
1306 .\"General Movement Keys"
1307 are accepted.
1309 .B Enter.
1310 In the directory tree, exits the directory tree and changes to this
1311 directory in the current panel. In the tree view, changes to this
1312 directory in the other panel and stays in tree view mode in the
1313 current panel.
1315 .B C\-r, F2 (Rescan).
1316 Rescan this directory. Use this when the tree figure is out of date:
1317 it is missing subdirectories or shows some subdirectories which don't
1318 exist any more.
1320 .B F3 (Forget).
1321 Delete this directory from the tree figure. Use this to remove clutter
1322 from the figure. If you want the directory back to the tree figure
1323 press F2 in its parent directory.
1325 .B F4 (Static/Dynamic).
1326 Toggle between the dynamic navigation mode (default) and the static
1327 navigation mode.
1329 In the static navigation mode you can use the Up and Down keys to
1330 select a directory. All known directories are shown.
1332 In the dynamic navigation mode you can use the Up and Down keys to
1333 select a sibling directory, the Left key to move to the parent
1334 directory, and the Right key to move to a child directory. Only the
1335 parent, sibling and children directories are shown, others are left
1336 out. The tree figure changes dynamically as you traverse.
1338 .B F5 (Copy).
1339 Copy the directory.
1341 .B F6 (RenMov).
1342 Move the directory.
1344 .B F7 (Mkdir).
1345 Make a new directory below this directory.
1347 .B F8 (Delete).
1348 Delete this directory from the file system.
1350 .B C\-s, Alt\-s.
1351 Search the next directory matching the search string. If there is
1352 no such directory these keys will move one line down.
1354 .B C\-h, Backspace.
1355 Delete the last character of the search string.
1357 .B Any other character.
1358 Add the character to the search string and move to the next directory
1359 which starts with these characters. In the tree view you must first
1360 activate the search mode by pressing C\-s. The search string is shown
1361 in the mini status line.
1363 The following actions are available only in the directory tree. They
1364 aren't supported in the tree view.
1366 .B F1 (Help).
1367 Invoke the help viewer and show this section.
1369 .B Esc, F10.
1370 Exit the directory tree. Do not change the directory.
1372 The mouse is supported. A double\-click behaves like Enter. See
1373 also the section on
1374 .\"LINK2"
1375 mouse support\&.
1376 .\"Mouse Support"
1377 .\"NODE "    Find File"
1378 .SH "    Find File"
1379 The Find File feature first asks for the start directory for the
1380 search and the filename to be searched for. By pressing the Tree
1381 button you can select the start directory from the
1382 .\"LINK2"
1383 directory tree
1384 .\"Directory Tree"
1385 figure.
1387 The "File name" input field contains a filename pattern to be searched
1388 for. It is interpreted as a shell pattern or as a regular expression
1389 depending on the state of the "Using shell patterns" checkbox. An empty
1390 value is valid and matches any file name.
1392 The "Content" input field contains a string to search for within the
1393 files. Leave this field empty to disable searching file contents.
1395 Option "Whole words" allows select only those files containing matches that
1396 form whole words. Like grep \-w.
1398 You can start the search by pressing the OK button.
1399 During the search you can stop from the Stop button and continue from
1400 the Start button.
1402 You can browse the filelist with the up and down arrow keys. The Chdir
1403 button will change to the directory of the currently selected
1404 file. The Again button will ask for the parameters for a new
1405 search. The Quit button quits the search operation. The Panelize
1406 button will place the found files to the current directory panel so
1407 that you can do additional operations on them (view, copy, move,
1408 delete and so on). To return to the normal file listing, change directory
1409 to "..".
1411 The 'Enable ignore directories' checkbox and input field below it
1412 allow one to set up the list of directories that should be skip during the search
1413 files (for example, you may want to avoid searches on a CD\-ROM or on a NFS
1414 directory that is mounted across a slow link). List components must be separated
1415 with a colon, here is an example:
1418 /cdrom:/nfs/wuarchive:/afs
1421 Relative paths are supported also. The following example shows how to skip special
1422 directories of version control systems:
1424 /cdrom:/nfs/wuarchive:/afs:.svn:.git:CVS
1427 Attention: input field can contain a dot (.), this means the current absolute path.
1429 You may consider using the
1430 .\"LINK2"
1431 External panelize
1432 .\"External panelize"
1433 command for some operations. Find file command is for simple queries
1434 only, while using External panelize you can do as mysterious searches
1435 as you would like.
1436 .\"NODE "    External panelize"
1437 .SH "    External panelize"
1438 The External panelize allows you to execute an external program, and
1439 make the output of that program the contents of the current panel.
1441 For example, if you want to manipulate in one of the panels all the
1442 symbolic links in the current directory, you can use external
1443 panelization to run the following command:
1446 find . \-type l \-print
1449 Upon command completion, the directory contents of the panel will no
1450 longer be the directory listing of the current directory, but all the
1451 files that are symbolic links.
1453 If you want to panelize all of the files that have been downloaded
1454 from your FTP server, you can use this awk command to extract the file
1455 name from the transfer log files:
1458 awk '$9 ~! /incoming/ { print $9 }' < /var/log/xferlog
1461 You may want to save often used panelize commands under a descriptive name,
1462 so that you can recall them quickly. You do this by typing the command on
1463 the input line and pressing Add new button. Then you enter a name under
1464 which you want the command to be saved. Next time, you just choose that
1465 command from the list and do not have to type it again.
1466 .\"NODE "    Hotlist"
1467 .SH "    Hotlist"
1468 The Directory hotlist command shows the labels of the directories
1469 in the directory hotlist. Midnight Commander will change to the
1470 directory corresponding to the selected label.  From the hotlist dialog,
1471 you can remove already created label/directory pairs and add new ones.
1472 To add new directories quickly, you can use the Add to hotlist command
1473 (C\-x h), which adds the current directory into the directory hotlist,
1474 asking just for the label for the directory.
1476 This makes cd to often used directories faster. You may consider using the
1477 CDPATH variable as described in
1478 .\"LINK2"
1479 internal cd command
1480 .\"The cd internal command"
1481 description.
1482 .\"NODE "    Edit Extension File"
1483 .SH "    Edit Extension File"
1484 This will invoke your editor on the file
1485 .IR ~/.config/mc/mc.ext.ini .
1486 If this file does not exist and you are not root, it will be copied from
1487 .IR %sysconfdir%/mc/mc.ext.ini .
1488 If you are root, you can choose the file to edit: user's
1489 .I ~/.config/mc/mc.ext.ini
1490 or system\-wide
1491 .IR %sysconfdir%/mc/mc.ext.ini .
1492 The format of this file is described in detail in it.
1493 .\"NODE "    Background jobs"
1494 .SH "    Background Jobs"
1495 This lets you control the state of any background Midnight Commander
1496 process (only copy and move files operations can be done in the
1497 background).  You can stop, restart and kill a background job from
1498 here.
1499 .\"NODE "    Edit Menu File"
1500 .SH "    Edit Menu File"
1501 The user menu is a menu of useful actions that can be customized by
1502 the user. When you access the user menu, the
1503 file .mc.menu from the current directory is used if it exists,
1504 but only if it is owned by user or root and is not world\-writable.
1505 If no such file found, ~/.config/mc/menu is tried in the same way,
1506 and otherwise mc uses the default system\-wide menu
1507 %pkgdatadir%/mc.menu.
1509 The format of the menu file is very simple. Lines that start with
1510 anything but space or tab are considered entries for the menu (in
1511 order to be able to use it like a hot key, the first character should
1512 be a letter). All the lines that start with a space or a tab are the
1513 commands that will be executed when the entry is selected.
1515 When an option is selected all the command lines of the option are
1516 copied to a temporary file in the temporary directory (usually
1517 /usr/tmp) and then that file is executed. This allows the user to put
1518 normal shell constructs in the menus. Also simple macro substitution
1519 takes place before executing the menu code. For more information, see
1520 .\"LINK2"
1521 macro substitution\&.
1522 .\"Macro Substitution"
1524 Here is a sample mc.menu file:
1527 A       Dump the currently selected file
1528         od \-c %f
1530 B       Edit a bug report and send it to root
1531         I=`mktemp ${MC_TMPDIR:\-/tmp}/mail.XXXXXX` || exit 1
1532         vi $I
1533         mail \-s "Midnight Commander bug" root < $I
1534         rm \-f $I
1536 M       Read mail
1537         emacs \-f rmail
1539 N       Read Usenet news
1540         emacs \-f gnus
1542 H       Call the info hypertext browser
1543         info
1545 J       Copy current directory to other panel recursively
1546         tar cf \- . | (cd %D && tar xvpf \-)
1548 K       Make a release of the current subdirectory
1549         echo \-n "Name of distribution file: "
1550         read tar
1551         ln \-s %d `dirname %d`/$tar
1552         cd ..
1553         tar cvhf ${tar}.tar $tar
1555 = f *.tar.gz | f *.tgz & t n
1556 X       Extract the contents of a compressed tar file
1557         tar xzvf %f
1560 .B Default Conditions
1562 Each menu entry may be preceded by a condition. The condition must
1563 start from the first column with a '=' character. If the condition is
1564 true, the menu entry will be the default entry.
1567 Condition syntax:       = <sub\-cond>
1568   or:                   = <sub\-cond> | <sub\-cond> ...
1569   or:                   = <sub\-cond> & <sub\-cond> ...
1571 Sub\-condition is one of following:
1573   y <pattern>           syntax of current file matching pattern?
1574                         (for edit menu only)
1575   f <pattern>           current file matching pattern?
1576   F <pattern>           other file matching pattern?
1577   d <pattern>           current directory matching pattern?
1578   D <pattern>           other directory matching pattern?
1579   t <type>              current file of type?
1580   T <type>              other file of type?
1581   x <filename>          is it executable filename?
1582   ! <sub\-cond>         negate the result of sub\-condition
1585 Pattern is a normal shell pattern or a regular expression, according
1586 to the shell patterns option. You can override the global value of
1587 the shell patterns option by writing "shell_patterns=x" on the first
1588 line of the menu file (where "x" is either 0 or 1).
1590 Type is one or more of the following characters:
1593   n     not a directory
1594   r     regular file
1595   d     directory
1596   l     link
1597   c     character device
1598   b     block device
1599   f     FIFO (pipe)
1600   s     socket
1601   x     executable file
1602   t     tagged
1605 For example 'rlf' means either regular file, link or fifo. The 't'
1606 type is a little special because it acts on the panel instead of the
1607 file. The condition '=t t' is true if there are tagged files in the
1608 current panel and false if not.
1610 If the condition starts with '=?' instead of '=' a debug trace will be
1611 shown whenever the value of the condition is calculated.
1613 The conditions are calculated from left to right. This means
1615         = f *.tar.gz | f *.tgz & t n
1617 is calculated as
1619         ( (f *.tar.gz) | (f *.tgz) ) & (t n)
1622 Here is a sample of the use of conditions:
1625 = f *.tar.gz | f *.tgz & t n
1626 L       List the contents of a compressed tar\-archive
1627         gzip \-cd %f | tar xvf \-
1630 .B Addition Conditions
1632 If the condition begins with '+' (or '+?') instead of '=' (or '=?') it
1633 is an addition condition. If the condition is true the menu entry will
1634 be included in the menu. If the condition is false the menu entry will
1635 not be included in the menu.
1637 You can combine default and addition conditions by starting condition
1638 with '+=' or '=+' (or '+=?' or '=+?' if you want debug trace). If you
1639 want to use two different conditions, one for adding and another for
1640 defaulting, you can precede a menu entry with two condition lines, one
1641 starting with '+' and another starting with '='.
1643 Comments are started with '#'. The additional comment lines must start
1644 with '#', space or tab.
1645 .\"NODE "  Options Menu"
1646 .SH "  Options Menu"
1647 Midnight Commander has some options that may be toggled on and
1648 off in several dialogs which are accessible from this menu. Options
1649 are enabled if they have an asterisk or "x" in front of them.
1652 .\"LINK2"
1653 Configuration
1654 .\"Configuration"
1655 command pops up a dialog from which you can change most of settings of
1656 Midnight Commander.
1659 .\"LINK2"
1660 Layout
1661 .\"Layout"
1662 command pops up a dialog from which you specify a bunch of options how mc
1663 looks like on the screen.
1666 .\"LINK2"
1667 Panel options
1668 .\"Panel options"
1669 command pops up a dialog from which you specify options of file manager panels.
1672 .\"LINK2"
1673 Confirmation
1674 .\"Confirmation"
1675 command pops up a dialog from which you specify which actions you want to
1676 confirm.
1679 .\"LINK2"
1680 Appearance
1681 .\"Appearance"
1682 command pops up a dialog from which you specify the skin.
1685 .\"LINK2"
1686 Display bits
1687 .\"Display bits"
1688 command pops up a dialog from which you may select which characters is your
1689 terminal able to display.
1692 .\"LINK2"
1693 Learn keys
1694 .\"Learn keys"
1695 command pops up a dialog from which you test some keys which are not working
1696 on some terminals and you may fix them.
1699 .\"LINK2"
1700 Virtual FS
1701 .\"Virtual FS"
1702 command pops up a dialog from which you specify some VFS related options.
1705 .\"LINK2"
1706 Save setup
1707 .\"Save Setup"
1708 command saves the current settings of the Left, Right and Options
1709 menus. A small number of other settings is saved, too.
1710 .\"NODE "    Configuration"
1711 .SH "    Configuration"
1712 The options in this dialog are divided into several groups: "File
1713 operation options", "Esc key mode", "Pause after run" and "Other options".
1715 .B File operation options
1717 .I Verbose operation.
1718 This toggles whether the file Copy, Rename and Delete operations are
1719 verbose (i.e., display a dialog box for each operation). If you have a
1720 slow terminal, you may wish to disable the verbose operation. It is
1721 automatically turned off if the speed of your terminal is less than
1722 9600 bps.
1724 .I Compute totals.
1725 If this option is enabled, Midnight Commander computes total byte
1726 sizes and total number of files prior to any Copy, Rename and Delete
1727 operations. This will provide you with a more accurate progress bar
1728 at the expense of some speed. This option has no effect, if
1729 .I Verbose  operation
1730 is disabled.
1732 .I Classic progressbar.
1733 If this option is enabled, the progressbar of Copy/Move/Delete operations
1734 is always grown form left to right. If disabled, the growing direction
1735 of progressbar follows to direction of Copy/Move/Delete operation:
1736 from left panel to right one and vice versa. Enabled by default.
1738 .I Mkdir autoname.
1739 When you press F7 to create a new directory, the input line in popup dialog
1740 will be filled by name of current file or directory in active panel.
1741 Disabled by default.
1743 .I Preallocate space.
1744 Preallocate space for whole target file, if possible, before copy operation.
1745 Disabled by default.
1747 .B Esc key mode.
1749 By default, Midnight Commander treats the Esc key as a key prefix.
1750 Therefore, you should press Esc code twice to exit a dialog. But there is
1751 a possibility to use a single press of Esc key for that action.
1753 .I Single press.
1754 By default this option is disabled. If you'll enable it, the Esc key
1755 will act as a prefix key for set up time interval (see
1756 .I Timeout
1757 option below), and if no extra keys have arrived, then the Esc key
1758 is interpreted as a cancel key (Esc Esc).
1760 .I Timeout.
1761 This options is used to setup the time interval (in microseconds)
1762 for single press of Esc key. By default, this interval is one second
1763 (1000000 microseconds). Also the timeout can be set via KEYBOARD_KEY_TIMEOUT_US
1764 environment variable (also in microseconds), which has higher priority
1765 than Timeout option value.
1767 .B Pause after run
1769 After executing your commands, Midnight Commander can pause, so
1770 that you can examine the output of the command.  There are three
1771 possible settings for this variable:
1773 .I Never.
1774 Means that you do not want to see the output of your command.  If you
1775 are using the Linux or FreeBSD console or an xterm, you will be able to
1776 see the output of the command by typing C\-o.
1778 .I On dumb terminals.
1779 You will get the pause message on terminals that are not capable of
1780 showing the output of the last command executed (any terminal that is
1781 not an xterm or the Linux console).
1783 .I Always.
1784 The program will pause after executing all of your commands.
1786 .B Other options
1788 .I Use internal editor.
1789 If this option is enabled, the built\-in file editor is used to edit
1790 files. If the option is disabled, the editor specified in the
1791 .B EDITOR
1792 environment variable is used.
1793 If no editor is specified,
1794 .B vi
1795 is used.  See the section on the
1796 .\"LINK2"
1797 internal file editor\&.
1798 .\"Internal File Editor"
1800 .I Use internal viewer.
1801 If this option is enabled, the built\-in file viewer is used to view
1802 files. If the option is disabled, the pager specified in the
1803 .B PAGER
1804 environment variable is used.
1805 If no pager is specified, the
1806 .B view
1807 command is used.  See the section on the
1808 .\"LINK2"
1809 internal file viewer\&.
1810 .\"Internal File Viewer"
1812 .I Ask new file name.
1813 If this option is enabled, file name is asked before open new file in editor.
1815 .I Auto menus.
1816 If this option is enabled, the user menu will be invoked at startup.
1817 Useful for building menus for non\-unixers.
1819 .I Drop down menus.
1820 When this option is enabled, the pull down menus will be activated as
1821 soon as you press the F9 key. Otherwise, you will only get the menu title,
1822 and you will have to activate the menu either with the arrow keys or with
1823 the hotkeys. It is recommended if you are using hotkeys.
1825 .I Shell Patterns.
1826 By default the Select, Unselect and Filter commands will use shell\-like
1827 regular expressions. The following conversions are performed to achieve
1828 this: the '*' is replaced by '.*' (zero or more characters); the '?'
1829 is replaced by '.' (exactly one character) and '.' by the literal
1830 dot. If the option is disabled, then the regular expressions are the
1831 ones described in ed(1).
1833 .I Complete: show all.
1834 By default, Midnight Commander pops up all possible
1835 .\"LINK2"
1836 completions
1837 .\"Completion"
1838 if the completion is ambiguous only when you press
1839 .B Alt\-Tab
1840 for the second time.  For the first time, it just completes as much as
1841 possible and beeps in the case of ambiguity.  Enable this option if you
1842 want to see all possible completions even after pressing
1843 .B Alt\-Tab
1844 the first time.
1846 .I Rotating dash.
1847 If this option is enabled, the
1848 Midnight Commander shows a rotating dash in the upper right corner
1849 as a work in progress indicator.
1851 .I Cd follows links.
1852 This option, if set, causes Midnight Commander to follow the
1853 logical chain of directories when changing current directory
1854 either in the panels, or using the cd command. This is the default
1855 behavior of bash. When unset, Midnight Commander follows the
1856 real directory structure, so cd .. if you've entered that directory
1857 through a link will move you to the current directory's real parent
1858 and not to the directory where the link was present.
1860 .I Safe delete.
1861 If this option is enabled, deleting files and directory hotlist entries
1862 unintentionally becomes more difficult.  The default selection in the
1863 confirmation dialogs for deletion changes from
1864 .B Yes
1866 .BR No .
1867 This option is disabled by default.
1869 .I Safe overwrite.
1870 If this option is enabled, overwriting files unintentionally becomes
1871 more difficult.  The default selection in the overwrite confirmation dialog
1872 changes from
1873 .B Yes
1875 .BR No .
1876 This option is disabled by default.
1878 .I Auto save setup.
1879 If this option is enabled, when you exit Midnight Commander, the
1880 configurable options of Midnight Commander are saved in the
1881 ~/.config/mc/ini file.
1882 .\"NODE "    Layout"
1883 .SH "    Layout"
1884 The layout dialog gives you a possibility to change the general layout
1885 of screen. The options in this dialog are divided into several groups:
1886 "Panel split", "Console output" and "Other options".
1888 .B Panel split
1890 The rest of the screen area is used for the two directory panels. You
1891 can specify whether the area is split to the panels in
1892 .I Vertical
1894 .I Horizontal
1895 direction. Panel layout can be changed using Alt\-, (Alt\-comma) shortcut.
1897 .I Equal split.
1898 By default, panels have equal sizes. Using this option you can specify
1899 an unequal split.
1901 .B Console output
1903 On the Linux or FreeBSD console you can specify how many lines are shown
1904 in the output window. This option is available if Midnight Commander runs
1905 on native console only.
1907 .B Other options
1909 .I Menu bar visible.
1910 If enabled, main menu of Midnight Commander is always visible on the top row
1911 of screen above panels. Enabled by default.
1913 .I Command prompt.
1914 If enabled, command line is available. Enabled by default.
1916 .I Keybar visible.
1917 If enabled, 10 labels associated with F1\-F10 keys are located at the bottom
1918 row of screen. Enabled by default.
1920 .I Hintbar visible.
1921 If enabled, the one\-line hints are visible below panels. Enabled by default.
1923 .I XTerm window title.
1924 When run in a terminal emulator for X11, Midnight Commander sets the
1925 terminal window title to the current working directory and updates it
1926 when necessary.  If your terminal emulator is broken and you see some
1927 incorrect output on startup and directory change, turn off this option.
1928 Enabled by default.
1930 .I Show free space.
1931 If enabled, free space and total space of current file system is shown
1932 at the bottom frame of panel. Enabled by default.
1933 .\"NODE "    Panel options"
1934 .SH "    Panel options"
1935 .B Main panel options
1937 .I Show mini\-status.
1938 If enabled, one line of status information about the currently selected item
1939 is shown at the bottom of the panels. Enabled by default.
1941 .I Use SI size units.
1942 If this option is enabled, Midnight Commander will use SI prefixes (base 10)
1943 when displaying any byte sizes. If disabled (default), Midnight Commander will
1944 use IEC prefixes (base 2).
1946 .I Mix all files.
1947 If this option is enabled, all files and directories are shown mixed
1948 together.  If the option is disabled (default), directories (and links to
1949 directories) are shown at the beginning of the listing, and other files below.
1951 .I Show backup files.
1952 If enabled, Midnight Commander will show files ending with a tilde.
1953 Otherwise, they won't be shown (like GNU's ls option \-B). Enabled by default.
1955 .I Show hidden files.
1956 If enabled, Midnight Commander will show all files that start with
1957 a dot (like ls \-a). Disabled by default.
1959 .I Fast directory reload.
1960 If this option is enabled, Midnight Commander will use a trick to
1961 determine if the directory contents have changed.  The trick is to reload
1962 the directory only if the i\-node of the directory has changed; this means
1963 that reloads only happen when files are created or deleted.  If what
1964 changes is the i\-node for a file in the directory (file size changes,
1965 mode or owner changes, etc) the display is not updated.  In these cases,
1966 if you have the option on, you have to rescan the directory manually
1967 (with C\-r). Disabled by default.
1969 .I Mark moves down.
1970 If enabled, the selection bar will move down when you mark a file (with
1971 Insert key). Enabled by default.
1973 .I Reverse files only.
1974 Allow revert selection of files only. Enabled by default.
1975 If enabled, the reverse selection is applied to files only, not to directories.
1976 The selection of directories is untouched. If off, the reverse selection
1977 is applied to files as well to directories: all unselected items become
1978 selected, and vice versa.
1980 .I Simple swap.
1981 If both panels contain file listing, simple swap means that panels exchange
1982 its screen positions: left panel become right one, and vice versa. If this
1983 option is unchecked, file listing panels exchange its content keeping listing
1984 format and sort options. Unchecked by default.
1986 .I Auto save panels setup.
1987 If this option is enabled, when you exit Midnight Commander, the
1988 current settings of panels are saved in the ~/.config/mc/panels.ini file.
1989 Disabled by default.
1991 .B Navigation
1993 .I Lynx\-like motion.
1994 If this option is enabled, you may use the arrows keys to automatically
1995 chdir if the current selection is a subdirectory and the shell command
1996 line is empty. By default, this setting is off.
1998 .I Page scrolling.
1999 If set (the default), panel will scroll by half the display when the
2000 cursor reaches the end or the beginning of the panel, otherwise it
2001 will just scroll a file at a time.
2003 .I Center scrolling.
2004 If set, panel will scroll when the cursor reaches the middle of the
2005 panel column, only hitting the top or bottom of the panel when actually on
2006 the first or last file. This behavior applies when scrolling one file
2007 at a time, and does not apply to the page up/down keys.
2009 .I Mouse page scrolling.
2010 Controls whenever scrolling with the mouse wheel is done by pages or
2011 line by line on the panels.
2013 .B File highlight
2015 You can specify whether
2016 .I permissions
2018 .I file types
2019 should be highlighted with distinctive
2020 .\"LINK2"
2021 Colors\&.
2022 .\"Colors"
2023 If the permission highlighting is enabled, the parts of the
2024 .I perm
2026 .I mode
2027 .\"LINK2"
2028 display fields
2029 .\"Listing Format..."
2030 which apply to the user running Midnight Commander are highlighted with
2031 the color defined by the
2032 .I selected
2033 keyword.  If the file type highlighting is enabled, file names are colored
2034 according to rules described in
2035 %sysconfdir%/mc/filehighlight.ini
2036 file. See
2037 .\"LINK2"
2038 Filenames Highlight
2039 .\"Filenames Highlight"
2040 for more info.
2042 .B Quick search
2044 You can specify how the
2045 .\"LINK2"
2046 Quick search
2047 .\"Quick search"
2048 mode should work: case insensitively, case sensitively or be matched
2049 to the panel sort order: case sensitive or not.
2050 .\"NODE "    Confirmation"
2051 .SH "    Confirmation"
2052 In this dialog you configure the confirmation options for file deletion,
2053 overwriting files, execution by pressing enter, quitting the program,
2054 directory hotlist entries deletion and history cleanup.
2055 .\"NODE "    Appearance"
2056 .SH "    Appearance"
2057 In this dialog you can select the skin to be used and enable shadow
2058 for dialogs and drop down menus.
2060 See the
2061 .\"LINK2"
2062 Skins
2063 .\"Skins"
2064 section for technical details about the skin definition files.
2066 .I Shadows.
2067 If this option is enabled, all dialogs and drop down menus will have a shadow.
2068 .\"NODE "    Display bits"
2069 .SH "    Display bits"
2070 This is used to configure the range of visible characters on the
2071 screen.  This setting may be 7\-bits if your terminal/curses supports
2072 only seven output bits, ISO\-8859\-1 displays all the characters in the
2073 ISO\-8859\-1 map and full 8 bits is for those terminals that can display
2074 full 8 bit characters.
2075 .\"NODE "    Learn keys"
2076 .SH "    Learn keys"
2077 This dialog allows you to test and redefine functional keys, cursor
2078 arrows and some other keys to make them work properly on your terminal.
2079 They often don't, since many terminal databases are incomplete or broken.
2081 You can move around with the Tab key and with the vi moving keys ('h'
2082 left, 'j' down, 'k' up and 'l' right).  Once you press any cursor movement
2083 key and it is recognized, you can use that key as well.
2085 You can test keys just by pressing each of them.  When you press a
2086 key and it is recognized properly, OK should appear next to the name
2087 of that key.  Once a key is marked OK it starts working as usually,
2088 e.g. F1 pressed the first time will just check that the F1 key works,
2089 but after that it will show help.  The same applies to the arrow keys.
2090 The Tab key should be working always.
2092 If some keys do not work properly then you won't see OK appear after
2093 pressing one of these.  Then you may want to redefine it.  Do it by pressing
2094 the button with the name of that key (either by the mouse or by Enter
2095 or Space after selecting the button with Tab or arrows).  Then a message
2096 box will appear asking you to press that key.  Do it and wait until the
2097 message box disappears.  If you want to abort, just press Escape once
2098 and wait.
2100 When you finish with all the keys, you can Save them.  The definitions
2101 for the keys you have redefined will be written into the [terminal:TERM]
2102 section of your ~/.config/mc/ini file (where TERM is the name of your current
2103 terminal).  The definitions of the keys that were already working properly
2104 are not saved.
2105 .\"NODE "    Virtual FS"
2106 .SH "    Virtual FS"
2107 This option gives you control over the settings of the
2108 .\"LINK2"
2109 Virtual File System\&.
2110 .\"Virtual File System"
2112 Midnight Commander keeps in memory the information related to some
2113 of the virtual file systems to speed up the access to the files in the
2114 file system (for example, directory listings fetched from FTP servers).
2116 Also, in order to access the contents of compressed files (for example,
2117 compressed tar files), Midnight Commander needs to create temporary
2118 uncompressed files on your disk.
2120 Since both the information in memory and the temporary files on disk
2121 take up resources, you may want to tune the parameters of the cached
2122 information to decrease your resource usage or to maximize the speed of
2123 access to frequently used file systems.
2125 Because of the format of the tar archives, the
2126 .I Tar filesystem
2127 needs to read the whole file just to load the file entries.  Since most
2128 tar files are usually kept compressed (plain tar files are species in
2129 extinction), the tar file system has to uncompress the file on the disk
2130 in a temporary location and then access the uncompressed file as a
2131 regular tar file.
2133 Now, since we all love to browse files and tar files all over the disk,
2134 it's common that you will leave a tar file and then re\-enter it later.
2135 Since decompression is slow, Midnight Commander will cache the
2136 information in memory for a limited time.  When the timeout expires, all
2137 the resources associated with the file system are released.  The default
2138 timeout is set to one minute.
2141 .\"LINK2"
2142 FTP File System
2143 .\"FTP File System"
2144 (ftpfs) allows you to browse directories on remote FTP servers.  It has
2145 several options.
2147 .I ftp anonymous password
2148 is the password used when you login as "anonymous".  Some sites require
2149 a valid e\-mail address.  On the other hand, you probably don't want to
2150 give your real e\-mail address to untrusted sites, especially if you are
2151 not using spam filtering.
2153 ftpfs keeps the directory listing it fetches from a FTP server in a cache.
2154 The cache expire time is configurable with the
2155 .I ftpfs directory cache timeout
2156 option.  A low value for this option may slow down every operation on
2157 the ftpfs because every operation would require sending a request to the
2158 FTP server.
2160 You can define an FTP proxy host for doing FTP.  Note that most modern
2161 firewalls are fully transparent at least for passive FTP (see below), so
2162 FTP proxies are considered obsolete.
2165 .I Always use ftp proxy
2166 is not set, you can use the exclamation sign to enable proxy for certain
2167 hosts.  See
2168 .\"LINK2"
2169 FTP File System
2170 .\"FTP File System"
2171 for examples.
2173 If this option is set, the program will do two things: consult the
2174 %sysconfdir%/mc/mc.no_proxy file for lines containing host names that
2175 are local (if the host name starts with a dot, it is assumed to be a
2176 domain) and to assume that any hostnames without dots in their names are
2177 directly accessible.  All other hosts will be accessed through the
2178 specified FTP proxy.
2180 You can enable using
2181 .I ~/.netrc
2182 file, which keeps login names and passwords for ftp servers.  See netrc
2183 (5) for the description of the .netrc format.
2185 .I Use passive mode
2186 enables using FTP passive mode, when the connection for data transfer is
2187 initiated by the client, not by the server.  This option is recommended
2188 and enabled by default.  If this option is turned off, the data
2189 connection is initiated by the server.  This may not work with some
2190 firewalls.
2191 .\"NODE "    Save Setup"
2192 .SH "    Save Setup"
2193 At startup, Midnight Commander tries to load initialization information
2194 from the ~/.config/mc/ini file.
2195 If this file doesn't exist, the system\-wide file
2196 .B %sysconfdir%/mc/mc.ini
2197 is used. If this file doesn't exist, the system\-wide file
2198 .B %pkgdatadir%/mc.ini
2199 is used. If this file doesn't exist, MC uses the default settings.
2202 .I Save Setup
2203 command creates the ~/.config/mc/ini file by saving the
2204 current settings of the
2205 .\"LINK2"
2206 Left, Right
2207 .\"Left and Right Menus"
2209 .\"LINK2"
2210 Options
2211 .\"Options Menu"
2212 menus.
2214 If you activate the
2215 .I auto save setup
2216 option, MC will always save the current settings when exiting.
2218 There also exist settings which can't be changed from the menus. To
2219 change these settings you have to edit the setup file with your
2220 favorite editor. See the section on
2221 .\"LINK2"
2222 Special Settings
2223 .\"Special Settings"
2224 for more information.
2225 .SH ""
2226 .\"NODE "Executing operating system commands"
2227 .SH "Executing operating system commands"
2228 You may execute commands by typing them directly in Midnight
2229 Commander's input line, or by selecting the program you want to
2230 execute with the selection bar in one of the panels and hitting Enter.
2232 If you press Enter over a file that is not executable, Midnight
2233 Commander checks the extension of the selected file against the
2234 extensions in the
2235 .\"LINK2"
2236 Extensions File\&.
2237 .\"Edit Extension File"
2238 If a match is found then the code associated with that extension is
2239 executed. A very simple
2240 .\"LINK2"
2241 macro expansion
2242 .\"Macro Substitution"
2243 takes place before executing the command.
2244 .\"NODE "  The cd internal command"
2245 .SH "  The cd internal command"
2247 .I cd
2248 command is interpreted by Midnight Commander, it is not passed to
2249 the command shell for execution.  Thus it may not handle all of the
2250 nice macro expansion and substitution that your shell does, although it
2251 does some of them:
2253 .I Tilde substitution.
2254 The (~) will be substituted with your home directory, if you append a
2255 username after the tilde, then it will be substituted with the login
2256 directory of the specified user.
2258 For example, ~guest is the home directory for the user guest, while
2259 ~/guest is the directory guest in your home directory.
2261 .I Previous directory.
2262 You can jump to the directory you were previously by using the special
2263 directory name '\-' like this:
2264 .B cd \-
2266 .I CDPATH directories.
2267 If the directory specified to the
2268 .B cd
2269 command is not in the current directory, then Midnight Commander
2270 uses the value in the environment variable
2271 .B CDPATH
2272 to search for the directory in any of the named directories.
2274 For example you could set your
2275 .B CDPATH
2276 variable to ~/src:/usr/src, allowing you to change your directory to
2277 any of the directories inside the ~/src and /usr/src directories, from
2278 any place in the file system by using its relative name (for example
2279 cd linux could take you to /usr/src/linux).
2280 .\"NODE "  Macro Substitution"
2281 .SH "  Macro Substitution"
2282 When accessing a
2283 .\"LINK2"
2284 user menu\&,
2285 .\"Edit Menu File"
2286 or executing an
2287 .\"LINK2"
2288 extension dependent command\&,
2289 .\"Edit Extension File"
2290 or running a command from the command line input, a simple macro
2291 substitution takes place.
2293 The macros are:
2295 .I %i
2296 The indent of blank space, equal the cursor column position.  For edit
2297 menu only.
2299 .I %y
2300 The syntax type of current file. For edit menu only.
2302 .I %k
2303 The block file name.
2305 .I %e
2306 The error file name.
2308 .I %m
2309 The current menu name.
2311 .IR %f " and " %p
2312 In file manager user menu: the current file name in selected panel.
2313 In mcedit user menu: the name of opened file.
2315 .I %x
2316 The extension of current file name.
2318 .I %b
2319 The current file name without extension.
2321 .I %d
2322 The current directory name.
2324 .I %F
2325 The current file in the unselected panel.
2327 .I %D
2328 The directory name of the unselected panel.
2330 .I %t
2331 The currently tagged files.
2333 .I %T
2334 The tagged files in the unselected panel.
2336 .IR %u " and " %U
2337 Similar to the %t and %T macros, but in addition the files are untagged.
2338 You can use this macro only once per menu file entry or extension file
2339 entry, because next time there will be no tagged files.
2341 .IR %s " and " %S
2342 The selected files: The tagged files if there are any. Otherwise the
2343 current file.
2345 .I %cd
2346 This is a special macro that is used to change the current directory
2347 to the directory specified in front of it.  This is used primarily as
2348 an interface to the
2349 .\"LINK2"
2350 Virtual File System\&.
2351 .\"Virtual File System"
2353 .I %view
2354 This macro is used to invoke the internal viewer.  This macro can be
2355 used alone, or with arguments.  If you pass any arguments to this
2356 macro, they should be enclosed in brackets.
2358 The arguments are:
2359 .I ascii
2360 to force the viewer into ascii mode;
2361 .I hex
2362 to force the viewer into hex mode;
2363 .I nroff
2364 to tell the viewer that it should interpret the bold and underline
2365 sequences of nroff;
2366 .I unformatted
2367 to tell the viewer to not interpret nroff commands for making the text
2368 bold or underlined.
2370 .I %%
2371 The % character
2373 .I %{some text}
2374 Prompt for the substitution. An input box is shown and the text inside
2375 the braces is used as a prompt. The macro is substituted by the text
2376 typed by the user. The user can press Esc or F10 to cancel. This macro
2377 doesn't work on the command line yet.
2379 .I %var{ENV:default}
2380 If environment variable
2381 .I ENV
2382 is unset, the
2383 .I default
2384 is substituted.  Otherwise, the value of
2385 .I ENV
2386 is substituted.
2387 .\"NODE "  The subshell support"
2388 .SH "  The subshell support"
2389 The subshell support is a compile time option, that works with the
2390 shells: bash, ash (BusyBox and Debian), tcsh, zsh and fish.
2392 When the subshell support is active, Midnight Commander will
2393 spawn a concurrent copy of your shell (the one defined in the
2394 .B SHELL
2395 variable and if it is not defined, then the one in the /etc/passwd
2396 file) and run it in a pseudo terminal, instead of invoking a new shell
2397 each time you execute a command, the command will be passed to the
2398 subshell as if you had typed it.  This also allows you to change the
2399 environment variables, use shell functions and define aliases that are
2400 valid until you quit Midnight Commander.
2402 .B bash
2403 users may specify startup commands in ~/.local/share/mc/bashrc (fallback ~/.bashrc)
2404 and special keyboard maps in ~/.local/share/mc/inputrc (fallback ~/.inputrc).
2406 .B ash/dash
2407 users (BusyBox or Debian) may specify startup commands in ~/.local/share/mc/ashrc (fallback ~/.profile).
2409 .B zsh
2410 users may specify startup commands in ~/.local/share/mc/.zshrc (fallback ~/.zshrc).
2412 .B tcsh, fish
2413 users cannot specify mc-specific startup commands at present. They have to rely on
2414 shell-specific startup files.
2416 The following paragraphs are relevant only when the subshell support is
2417 active:
2419 You can suspend applications at any
2420 time with the sequence C\-o and jump back to Midnight Commander, if
2421 you interrupt an application, you will not be able to run other
2422 external commands until you quit the application you interrupted.
2424 The basic prompt displayed by Midnight Commander is of the form
2425 "user@host:current_path$ ". When using a capable shell, like Bash, the
2426 prompt displayed by Midnight Commander will be the same prompt that you
2427 are currently using in your shell.
2429 (There's a known problem when using fish: the prompt is displayed only in
2430 full screen mode (Ctrl-o), not when the panels are visible.)
2433 .\"LINK2"
2434 OPTIONS
2435 .\"OPTIONS"
2436 section has more information on how you can control subshell usage (-U/-u).
2437 Furthermore, to set a specific subshell different from your current SHELL variable or
2438 login shell defined in /etc/passwd, you may call MC like this:
2439 .B SHELL=/bin/myshell mc
2440 .\"NODE "Chmod"
2441 .SH "Chmod"
2442 The Chmod window is used to change the attribute bits in a group of
2443 files and directories.  It can be invoked with the C\-x c key combination.
2445 The Chmod window has two parts \-
2446 .I Permissions
2448 .IR File .
2450 In the File section are displayed the name of the file or directory
2451 and its permissions in octal form, as well as its owner and group.
2453 In the Permissions section there is a set of check buttons which
2454 correspond to the file attribute bits.  As you change the attribute
2455 bits, you can see the octal value change in the File section.
2457 To move between the widgets (buttons and check buttons) use the
2458 .I arrow keys
2459 or the
2460 .I Tab
2461 key.  To change the state of the check buttons or to select a button
2463 .I Space.
2464 You can also use the hotkeys on the buttons to quickly activate them.
2465 Hotkeys are shown as highlighted letters on the buttons.
2467 To set the attribute bits, use the Enter key.
2469 When working with a group of files or directories, you just click on
2470 the bits you want to set or clear.  Once you have selected the bits
2471 you want to change, you select one of the action buttons (Set marked
2472 or Clear marked).
2474 Finally, to set the attributes exactly to those specified, you can use
2476 .B [Set all]
2477 button, which will act on all the tagged files.
2479 .B [Marked all]
2480 set only marked attributes to all selected files
2482 .B [Set marked]
2483 set marked bits in attributes of all selected files
2485 .B [Clean marked]
2486 clear marked bits in attributes of all selected files
2488 .B [Set]
2489 set the attributes of one file
2491 .B [Cancel]
2492 cancel the Chmod command
2493 .\"NODE "Chown"
2494 .SH "Chown"
2495 The Chown command is used to change the owner/group of a file. The hot
2496 key for this command is C\-x o.
2497 .\"NODE "Advanced Chown"
2498 .SH "Advanced Chown"
2499 The Advanced Chown command is the
2500 .\"LINK2"
2501 Chmod
2502 .\"Chmod"
2504 .\"LINK2"
2505 Chown
2506 .\"Chown"
2507 command combined into one window. You can change the permissions and
2508 owner/group of files at once.
2509 .\"NODE "Chattr"
2510 .SH "Chattr"
2511 The Chattr window is used to change the attributes of a group of files
2512 and directories on a Linux file system. It can be invoked with the C\-x e
2513 key combination.
2515 Not all attributes are supported or utilized by all filesystems.
2516 List of available attribute flags is represented as a set of check buttons
2517 which correspond to the attribute flags (see
2518 .B chattr(1)
2519 for details). As you change the attribute flags, you can see the symbolic
2520 value change below file name.
2522 To move between the widgets (buttons and check buttons) use the
2523 .I arrow keys
2524 or the
2525 .I Tab
2526 key. To change the state of the check buttons or to select a button use
2527 .BR Space .
2529 To set the attributes, use the Enter key.
2531 When working with a group of files or directories, you just click on
2532 the flags you want to set or clear. Once you have selected the flags
2533 you want to change, you select one of the action buttons (Set marked
2534 or Clear marked).
2536 Finally, to set the attributes exactly to those specified, you can use
2538 .B [Set all]
2539 button, which will act on all the tagged files.
2541 .B [Marked all]
2542 set only marked attributes to all selected files.
2544 .B [Set marked]
2545 set marked flags in attributes of all selected files.
2547 .B [Clean marked]
2548 clear marked flags in attributes of all selected files.
2550 .B [Set]
2551 set the attributes of one file.
2553 .B [Cancel]
2554 cancel the Chattr command.
2555 .\"NODE "File Operations"
2556 .SH "File Operations"
2557 When you copy, move or delete files, Midnight Commander shows the
2558 file operations dialog.  It shows the files currently being processed
2559 and uses up to three progress bars.  The file bar indicates the
2560 percentage of the current file that has been processed so far.  The
2561 count bar shows how many of the tagged files have been handled.  The
2562 bytes bar indicates the percentage of the total size of the tagged files
2563 that has been handled.  If the verbose option is off, the file and bytes
2564 bars are not shown.
2566 There are two buttons at the bottom of the dialog. Pressing the Skip
2567 button will skip the rest of the current file. Pressing the Abort
2568 button will abort the whole operation, the rest of the files are
2569 skipped.
2571 There are three other dialogs which you can run into during the file
2572 operations.
2574 The error dialog informs about error conditions and has four choices.
2575 Normally you select either the
2576 .I [Ignore]
2577 button to ignore this error, or the
2578 .I [Ignore all]
2579 button to ignore this and all future errors, or the
2580 .I [Abort]
2581 button to abort the operation altogether.  You can also select the
2582 .I [Retry]
2583 button if you fixed the problem from another terminal.
2585 The replace dialog is shown when you attempt to copy or move a file on
2586 the top of an existing file.  The dialog shows the dates and sizes of
2587 the both files.  Press the Yes button to overwrite the file, the No
2588 button to skip the file, the All button to overwrite all the files, the
2589 None button to never overwrite and the Update button to overwrite if the
2590 source file is newer than the target file.  You can abort the whole
2591 operation by pressing the Abort button.
2593 The recursive delete dialog is shown when you try to delete a directory
2594 which is not empty.  Press the Yes button to delete the directory
2595 recursively, the No button to skip the directory, the All button to
2596 delete all the directories and the None button to skip all the non\-empty
2597 directories.  You can abort the whole operation by pressing the Abort
2598 button.  If you selected the Yes or All button you will be asked for a
2599 confirmation.  Type "yes" only if you are really sure you want to do the
2600 recursive delete.
2602 If you have tagged files and perform an operation on them only the files
2603 on which the operation succeeded are untagged. Failed and skipped files
2604 are left tagged.
2605 .\"NODE "Mask Copy/Rename"
2606 .SH "Mask Copy/Rename"
2607 The copy/move operations let you translate the names of files in an
2608 easy way.  To do it, you have to specify the correct source mask and
2609 usually in the trailing part of the destination specify some wildcards.
2610 All the files matching the source mask are copied/renamed according to
2611 the target mask.  If there are tagged files, only the tagged files
2612 matching the source mask are renamed.
2614 There are other options which you can set:
2616 .B Follow links
2618 determines whether make the symlinks and hardlinks in the source
2619 directory (recursively in subdirectories) new links in the target
2620 directory or whether would you like to copy their content.
2622 .B Dive into subdirs
2624 determines the behavior when the source directory is about to be copied,
2625 but the target directory already exists.  The default action is to copy
2626 the contents of the source directory into the target directory.
2627 Enabling this option causes copying the source directory itself into the
2628 target directory.
2630 For example, you want to copy directory
2631 .I /foo
2632 containing file
2633 .I bar
2635 .IR /bla/foo ,
2636 which is an already existing directory.  Normally (when
2637 .B Dive into subdirs
2638 is not set), mc would copy file
2639 .I /foo/bar
2640 into the file
2641 .IR /bla/foo/bar .
2642 By enabling this option the
2643 .I /bla/foo/foo
2644 directory will be created, and
2645 .I /foo/bar
2646 will be copied into
2647 .IR /bla/foo/foo/bar .
2649 .B Preserve attributes
2651 determines whether to preserve the permissions, timestamps and (if you
2652 are root) the ownership of the original files.  If this option is not
2653 set, the current value of the umask will be respected.
2655 .B Use shell patterns
2657 When this option is on you can use the '*' and '?' wildcards in the source
2658 mask. They work like they do in the shell. In the target mask only the '*'
2659 and '\\<digit>' wildcards are allowed. The first '*' wildcard in the target
2660 mask corresponds to the first wildcard group in the source mask,
2661 the second '*' corresponds to the second group and so on.  The '\\1' wildcard
2662 corresponds to the first wildcard group in the source mask, the '\\2' wildcard
2663 corresponds to the second group and so on all the way up to '\\9'.
2664 The '\\0' wildcard is the whole filename of the source file.
2666 Two examples:
2668 If the source mask is "*.tar.gz", the destination is "/bla/*.tgz" and the
2669 file to be copied is "foo.tar.gz", the copy will be "foo.tgz" in "/bla".
2671 Suppose you want to swap basename and extension so that "file.c" would
2672 become "c.file" and so on.  The source mask for this is "*.*" and the
2673 destination is "\\2.\\1".
2675 .B Use shell patterns off
2677 When the shell patterns option is off the MC doesn't do automatic
2678 grouping anymore. You must use '\\(...\\)' expressions in the source
2679 mask to specify meaning for the wildcards in the target mask. This is
2680 more flexible but also requires more typing. Otherwise target masks
2681 are similar to the situation when the shell patterns option is on.
2683 Two examples:
2685 If the source mask is "^\\(.*\\)\\.tar\\.gz$", the destination is
2686 "/bla/*.tgz" and the file to be copied is "foo.tar.gz", the copy
2687 will be "/bla/foo.tgz".
2689 Let's suppose you want to swap basename and extension so that "file.c"
2690 will become "c.file" and so on. The source mask for this is
2691 "^\\(.*\\)\\.\\(.*\\)$" and the destination is "\\2.\\1".
2693 .B Case Conversions
2695 You can also change the case of the filenames.  If you use '\\u'
2696 or '\\l' in the target mask, the next character will be converted to
2697 uppercase or lowercase correspondingly.
2699 If you use '\\U' or '\\L' in the target mask, the next characters will
2700 be converted to uppercase or lowercase correspondingly up to the
2701 next '\\E' or next '\\U', '\\L' or the end of the file name.
2703 The '\\u' and '\\l' are stronger than '\\U' and '\\L'.
2705 For example, if the source mask is '*' (
2706 .I Use shell patterns
2707 on) or '^\\(.*\\)$' (
2708 .I Use shell patterns
2709 off) and the target mask is '\\L\\u*' the file names will be converted
2710 to have initial upper case and otherwise lower case.
2712 You can also use '\\' as a quote character. For example, '\\\\' is
2713 a backslash and '\\*' is an asterisk.
2715 .B Stable symlinks
2717 commands Midnight Commander, that it should change symlinks in the target,
2718 so that they'll point to the same location as it did before. With absolute
2719 symbolic links this does nothing, but if you have a relative one, it will
2720 recompute its value, adding necessary ../ and other directory parts and making
2721 the value as short as possible (most modern filesystems keep short symlinks
2722 inside inodes and thus don't waste much disk space).
2724 .\"NODE "Select/Unselect Files"
2725 .SH "Select/Unselect Files"
2726 The dialog of group of files and directories selection or uselection.
2728 .\"LINK2"
2729 input line
2730 .\"Input Line Keys"
2731 allow enter the regular expression of filenames that will be
2732 selected/unselected.
2734 When
2735 .I Files only
2736 checkbox is on, only files will be selected.  If
2737 .I Files only
2738 is off, as files as directories will be selected.
2739 When
2740 .I Shell Patterns
2741 checkbox is on, the regular expression is much like the filename globbing
2742 in the shell (* standing for zero or more characters and ?  standing
2743 for one character). If
2744 .I Shell Patterns
2745 is off, then the tagging of files is done with normal regular
2746 expressions (see ed (1)). When
2747 .I Case sensitive
2748 checkbox is on, the selection will be case sensitive characters.
2750 .I Case sensitive
2751 is off, the case will be ignored.
2752 .\"NODE "Diff Viewer"
2753 .SH "Internal Diff Viewer"
2754 The mcdiff is a visual diff tool. You can compare two files and edit them
2755 in\-place (diffs are updated dynamically). You can browse and view a working
2756 copy from popular version control systems (GIT, Subversion, etc).
2758 Following shortcuts are available in internal diff viewer of Midnight
2759 Commander.
2761 .B F1
2762 Invoke the built\-in hypertext help viewer.
2764 .B F2
2765 Save modified files.
2767 .B F4
2768 Edit file of the left panel in the internal editor.
2770 .B F14
2771 Edit file of the right panel in the internal editor.
2773 .B F5
2774 Merge the current hunk. Only the current hunk will be merged.
2776 .B F7
2777 Start search.
2779 .B F17
2780 Continue search.
2782 .B F10, Esc, q
2783 Exit from diff viewer.
2785 .B Alt\-s, s
2786 Toggle show of hunk status.
2788 .B Alt\-n, l
2789 Toggle show of line numbers.
2791 .B f
2792 Maximize left panel.
2794 .B =
2795 Make panels equal in width.
2797 .B >
2798 Reduce the size of the right panel.
2800 .B <
2801 Reduce the size of the left panel.
2803 .B c
2804 Toggle show of trailing carriage return (CR) symbol as ^M.
2806 .B 2, 3, 4, 8
2807 Set tabulation size
2809 .B C\-u
2810 Swap contents of diff panels.
2812 .B C\-r
2813 Refresh the screen.
2815 .B C\-o
2816 Switch to the subshell and show the command screen.
2818 .B Enter, Space, n
2819 Find next diff hunk.
2821 .B Backspace, p
2822 Find previous diff hunk.
2824 .B g
2825 Go to line.
2827 .B Down
2828 Scroll one line forward.
2830 .B Up
2831 Scroll one line backward.
2833 .B PageUp
2834 Move one page up.
2836 .B PageDown
2837 Mves one page down.
2839 .B Home, A1
2840 Moves to the line beginning.
2842 .B End
2843 Moves to the line end.
2845 .B C\-Home
2846 Move to the file beginning.
2848 .B C\-End, C1
2849 Move to the file end.
2850 .\"NODE "Internal File Viewer"
2851 .SH "Internal File Viewer"
2852 The internal file viewer provides two display modes: ASCII and hex.
2853 To toggle between modes, use the F4 key.
2855 The viewer will try to use the best method provided by your system or
2856 the file type to display the information.
2857 Some character sequences, which appear most often in preformatted manual
2858 pages, are displayed bold and underlined, thus making a pretty display
2859 of your files.
2861 When in hex mode, the search function accepts text in quotes and
2862 constant numbers.  Text in quotes is matched exactly after removing
2863 the quotes.  Each number matches one byte.  You can mix quoted text
2864 with constants like this:
2867 "String" 34 0xBB 012 "more text"
2870 Numbers are always interpreted in hex. In the example above, "34" is
2871 interpreted as 0x34. The prefix "0x" isn't really needed: we could type
2872 "BB" instead of "0xBB". And "012" is interpreted as 0x12, not as an octal
2873 number.
2875 Here is a listing of the actions associated with each key that the
2876 Midnight Commander handles in the internal file viewer.
2878 .B F1
2879 Invoke the built\-in hypertext help viewer.
2881 .B F2
2882 Toggle the wrap mode.
2884 .B F4
2885 Toggle the hex mode.
2887 .B F5
2888 Goto. You can specify a line number, offset or percentage of file size
2889 of position that you want to view.
2891 .B F7, /, ?
2892 Start search. These keys call the dialog window that allows you to set up
2893 the search options. If key is ? the "Backwards" option is on.
2895 .B C\-s
2896 Continue forward search.
2898 .B C\-r
2899 Continue reverse search.
2901 .B F17, n
2902 Continue search in the chosen direction.
2904 .B N
2905 Temporary change the search direction: backwards if forward search is chosen,
2906 and vice versa.
2908 .B F8
2909 Toggle Raw/Parsed mode: This will show the file as found on disk or if
2910 a processing filter has been specified in the mc.ext.ini file, then the
2911 output from the filter. Current mode is always the other than written
2912 on the button label, since on the button is the mode which you enter
2913 by that key.
2915 .B F9
2916 Toggle the format/unformat mode: when format mode is on the viewer
2917 will interpret some string sequences to show bold and underline with
2918 different colors. Also, on button label is the other mode than current.
2920 .B F10, Esc.
2921 Exit the internal file viewer.
2923 .B PageDown, space, C\-v.
2924 Scroll one page forward.
2926 .B PageUp, Alt\-v, C\-b, Backspace.
2927 Scroll one page backward.
2929 .B Down
2930 Scroll one line forward.
2932 .B Up
2933 Scroll one line backward.
2935 .B C\-l
2936 Refresh the screen.
2938 .B C\-o
2939 Switch to the subshell and show the command screen.
2941 .B "[n] m"
2942 Set the mark n.
2944 .B "[n] r"
2945 Jump to the mark n.
2947 .B C\-f
2948 Jump to the next file.
2950 .B C\-b
2951 Jump to the previous file.
2953 .B Alt\-r
2954 Toggle the ruler.
2956 .B Alt\-e
2957 to change charset of displayed text may use Alt\-e (M\-e).
2958 Recoding is made from selected codepage into system codepage. To
2959 cancel the recoding you may select "<No translation>" in charset
2960 selection dialog.
2962 It's possible to instruct the file viewer how to display a file, look
2963 at the
2964 .\"LINK2"
2965 Edit Extension File section
2966 .\"Edit Extension File"
2968 .\"NODE "Internal File Editor"
2969 .SH "Internal File Editor"
2970 The internal file editor is a full\-featured full screen editor.  It can
2971 edit files up to 64 megabytes.  It is possible to edit binary files.
2972 The internal file editor is invoked using
2973 .B F4
2974 if the
2975 .I use_internal_edit
2976 option is set in the initialization file.
2978 The features it presently supports are: block copy, move, delete, cut,
2979 paste; key for key undo; pull\-down menus; file insertion; macro
2980 commands; regular expression search and replace; S\-arrow text highlighting
2981 (if supported by the terminal); insert\-overwrite toggle; word wrap;
2982 autoindent; tunable tab size; syntax highlighting for various file
2983 types; and an option to pipe text blocks through shell commands like
2984 indent and ispell.
2986 Sections:
2988 .\"LINK2"
2989 Options of editor in ini\-file
2990 .\"Internal File Editor / options"
2992 The editor is very easy to use and requires no tutoring. To see what
2993 keys do what, just consult the appropriate pull\-down menu. Other keys
2994 are: Shift movement keys do text highlighting.
2995 .B C\-Ins
2996 copies to the file
2997 .B mcedit.clip
2999 .B S\-Ins
3000 pastes from mcedit.clip.
3001 .B S\-Del
3002 cuts to
3003 .BR mcedit.clip ,
3005 .B C\-Del
3006 deletes highlighted text. Mouse highlighting also works, and you
3007 can override the mouse as usual by holding down the shift key
3008 while dragging the mouse to let normal terminal mouse highlighting
3009 work.
3011 To define a macro, press
3012 .B C\-R
3013 and then type out the key
3014 strokes you want to be executed. Press
3015 .B C\-R
3016 again when finished. You can then assign the macro to any key you
3017 like by pressing that key. The macro is executed when you press
3018 .B C\-A
3019 and then the assigned key. The macro is also executed if
3020 you press Meta, Ctrl, or Esc and the assigned key, provided that the
3021 key is not used for any other function. Once defined, the macro
3022 commands go into the file
3023 .B ~/.local/share/mc/mcedit/mcedit.macros
3024 You can delete a macro by deleting the
3025 appropriate line in this file.
3027 To change charset of displayed text may use Alt\-e (M\-e).
3028 Recoding is made from selected codepage into system codepage. To
3029 cancel the recoding you may select "<No translation>" in charset
3030 selection dialog.
3032 .B F19
3033 will format the currently highlighted block (plain text or C or C++
3034 code or another). This is controlled by the
3035 file
3036 .B %pkgdatadir%/edit.indent.rc
3037 which is copied to
3038 .B ~/.local/share/mc/mcedit/edit.indent.rc
3039 in your home directory the first time you use it.
3041 The editor also displays non\-us characters (160+). When editing
3042 binary files, you should set
3043 .B display bits
3044 to 7 bits in the options menu to keep the spacing clean.
3046 .\"NODE "Internal File Editor / options"
3047 .SH "Options of editor in ini\-file"
3049 Some editor options of ini\-file are described in this section.
3050 Options are placed in [Midnight\-Commander] section
3052 .I editor_wordcompletion_collect_entire_file
3053 Search autocomplete candidates in entire of file or just from
3054 begin of file to cursor position (0)
3056 .\"NODE "Screen selector"
3057 .SH "Screen selector"
3058 Midnight Commander supports running many internal modules (such as
3059 editor, viewer and diff viewer) simultaneously and switching between
3060 them without closing open files. Using several file managers at a time,
3061 however, is not currently supported.
3063 Let's call each of these modules a screen. There are three ways to
3064 switch between screens, using one of these global shortcuts:
3066 .B Alt\-}
3067 switch to the next screen;
3069 .B Alt\-{
3070 switch to the previous screen;
3072 .B Alt\-`
3073 open a dialog window with the list of currently open screens (or use the
3074 "Screen list" menu item).
3075 .\"NODE "Completion"
3076 .SH "Completion"
3077 Let Midnight Commander type for you.
3079 Attempt to perform completion on the text before current position.  MC
3080 attempts completion treating the text as variable (if the text begins
3081 with
3082 .BR $ ),
3083 username (if the text begins with
3084 .BR ~ ),
3085 hostname (if the text begins with
3086 .BR @ )
3087 or command (if you are on the command line in the position where you
3088 might type a command, possible completions then include shell reserved
3089 words and shell built\-in commands as well) in turn.  If none of these
3090 matches, filename completion is attempted.
3092 Filename, username, variable and hostname completion works on all input
3093 lines, command completion is command line specific.  If the completion
3094 is ambiguous (there are more different possibilities), MC beeps and the
3095 following action depends on the setting of the
3096 .\"LINK2"
3097 Complete: show all
3098 .\"Configuration"
3099 option in the
3100 .\"LINK2"
3101 Configuration
3102 .\"Configuration"
3103 dialog.  If it is enabled, a list of all possibilities pops up next to
3104 the current position and you can select with the arrow keys and
3105 .B Enter
3106 the correct entry.  You can also type the first letters in which the
3107 possibilities differ to move to a subset of all possibilities and
3108 complete as much as possible.  If you press
3109 .B Alt\-Tab
3110 again, only the subset will be shown in the listbox, otherwise the first
3111 item which matches all the previous characters will be highlighted.  As
3112 soon as there is no ambiguity, dialog disappears, but you can hide it by
3113 canceling keys
3114 .BR Esc ,
3115 .B F10
3116 and left and right arrow keys. If
3117 .\"LINK2"
3118 Complete: show all
3119 .\"Configuration"
3120 is disabled, the dialog pops up only if you press
3121 .B Alt\-Tab
3122 for the second time, for the first time MC just beeps.
3124 Apply escaping of \fB?\fR, \fB*\fR, and \fB&\fR symbols (as \fB\\?\fR, \fB\\*\fR,
3125 and \fB\\&\fR) in filenames to disallow use them as metasymbols in regular
3126 expressions when substitution is performed in the input line.
3128 .\"NODE "Virtual File System"
3129 .SH "Virtual File System"
3130 Midnight Commander is provided with a code layer to access the file
3131 system; this code layer is known as the virtual file system switch.  The
3132 virtual file system switch allows Midnight Commander to manipulate
3133 files not located on the Unix file system.
3135 Currently, Midnight Commander is packaged with some Virtual File
3136 Systems (VFS): the
3137 .I local
3138 file system, used for accessing the regular Unix file system; the
3139 .IR ftpfs ,
3140 used to manipulate files on remote systems with the FTP protocol; the
3141 .IR tarfs ,
3142 used to manipulate tar and compressed tar files; the
3143 .IR undelfs ,
3144 used to recover deleted files on ext2 file systems (the default file
3145 system for Linux systems),
3146 .I shell
3147 (for manipulating files over shell connections such as rsh and ssh).
3148 If the code was compiled with
3149 .I sftpfs
3150 (for manipulating files over SFTP connections).
3152 A generic
3153 .I extfs
3154 (EXTernal virtual File System) is provided in order to easily expand
3155 VFS capabilities using scripts and external software.
3157 The VFS switch code will interpret all of the path names used and will
3158 forward them to the correct file system, the formats used for each one
3159 of the file systems is described later in their own section.
3160 .\"NODE "  FTP File System"
3161 .SH "  FTP File System"
3162 The FTP File System (ftpfs) allows you to manipulate files on remote
3163 machines.  To actually use it, you can use the
3164 .I FTP link
3165 item in the menu or directly change your current directory using the
3166 .I cd
3167 command to a path name that looks like this:
3169 .I ftp://[!][user[:pass]@]machine[:port][remote\-dir]
3172 .IR user ,
3173 .I port
3175 .I remote\-dir
3176 elements are optional.  If you specify the
3177 .I user
3178 element, Midnight Commander will login to the remote machine as that
3179 user, otherwise it will use anonymous login or the login name from the
3180 .I ~/.netrc
3181 file.  The optional
3182 .I pass
3183 element is the password used for the connection.  Using the password in
3184 the VFS directory name is not recommended, because it can appear on the
3185 screen in clear text and can be saved to the directory history.
3187 To enable using FTP proxy, prepend
3188 .B !
3189 (an exclamation sign) to the hostname.
3191 Examples:
3194     ftp://ftp.nuclecu.unam.mx/linux/local
3195     ftp://tsx\-11.mit.edu/pub/linux/packages
3196     ftp://!behind.firewall.edu/pub
3197     ftp://guest@remote\-host.com:40/pub
3198     ftp://miguel:xxx@server/pub
3201 Please check the
3202 .\"LINK2"
3203 Virtual File System
3204 .\"Virtual FS"
3205 dialog box for ftpfs options.
3206 .\"NODE "  Tar File System"
3207 .SH "  Tar File System"
3208 The tar file system provides you with read\-only access to your tar
3209 files and compressed tar files by using the chdir command.  To change
3210 your directory to a tar file, you change your current directory to the
3211 tar file by using the following syntax:
3213 .I /filename.tar/utar://[dir\-inside\-tar]
3215 The mc.ext.ini file already provides a shortcut for tar files, this means
3216 that usually you just point to a tar file and press return to enter
3217 into the tar file, see the
3218 .\"LINK2"
3219 Edit Extension File
3220 .\"Edit Extension File"
3221 section for details on how this is done.
3223 Examples:
3226     mc\-3.0.tar.gz/utar://mc\-3.0/vfs
3227     /ftp/GCC/gcc\-2.7.0.tar/utar://
3230 The latter specifies the full path of the tar archive.
3231 .\"NODE "  FIle transfer over SHell filesystem"
3232 .SH "  FIle transfer over SHell filesystem"
3233 The shell file system is a network based file system that allows you to
3234 manipulate the files in a remote machine as if they were local. To use
3235 this, the other side has to have bash\-compatible shell.
3237 To connect to a remote machine, you just need to chdir
3238 into a special directory which name is in the following
3239 format:
3241 .I sh://[user@]machine[:options]/[remote\-dir]
3244 .I user,
3245 .I options
3247 .I remote\-dir
3248 elements are optional.  If you specify the
3249 .I user
3250 element, Midnight Commander will try to login on the remote
3251 machine as that user, otherwise it will use your login name.
3253 The available
3254 .I options
3255 are:
3257   'C' \- use compression;
3258   'r' \- use rsh instead of ssh;
3259   port \- specify the port used by remote server.
3261 If the
3262 .I remote\-dir
3263 element is present, your current directory on the remote machine will be
3264 set to this one.
3266 Examples:
3269     sh://onlyrsh.mx:r/linux/local
3270     sh://joe@want.compression.edu:C/private
3271     sh://joe@noncompressed.ssh.edu/private
3272     sh://joe@somehost.ssh.edu:2222/private
3274 .\"NODE "  SFTP (SSH File Transfer Protocol) filesystem"
3275 .SH "  SFTP (SSH File Transfer Protocol) filesystem"
3276 The SFTP file system is a network based file system that allows you to
3277 manipulate the files in a remote machine as if they were local.
3279 To connect to a remote machine, you just need to chdir
3280 into a special directory which name is in the following
3281 format:
3283 .I sftp://[user@]machine:[port]/[remote\-dir]
3286 .I user,
3287 .I port
3289 .I remote\-dir
3290 elements are optional.  If you specify the
3291 .I user
3292 element, Midnight Commander will try to login on the remote
3293 machine as that user, otherwise it will use your login name.
3294 .I port
3295 \- specify the port used by remote server (22 by default).
3296 If the
3297 .I remote\-dir
3298 element is present, your current directory on the remote machine will be
3299 set to this one.
3301 Examples:
3304     sftp://onlyrsh.mx/linux/local
3305     sftp://joe:password@want.compression.edu/private
3306     sftp://joe@noncompressed.ssh.edu/private
3307     sftp://joe@somehost.ssh.edu:2222/private
3310 When establishing the connection, server key fingerprint is verified using
3311 the ~/.ssh/known_hosts file. If the host/key pair is not found or the host is found,
3312 but the key doesn't match, an appropriate message is shown.
3313 There are three buttons in the message dialog:
3315 .B [Yes]
3316 add new host/key pair to the ~/.ssh/known_hosts file and continue.
3318 .B [Ignore]
3319 do not add new host/key pair to the ~/.ssh/known_hosts file, but continue
3320 nevertheless (at you own risk).
3322 .B [No]
3323 abort connection.
3324 .\"NODE "  Undelete File System"
3325 .SH "  Undelete File System"
3326 On Linux systems, if you asked configure to use the ext2fs undelete
3327 facilities, you will have the undelete file system available.
3328 Recovery of deleted files is only available on ext2 file systems.  The
3329 undelete file system is just an interface to the ext2fs library to
3330 retrieve all of the deleted files names on an ext2fs and provides and
3331 to extract the selected files into a regular partition.
3333 To use this file system, you have to chdir into the special file name
3334 formed by the "undel://" prefix and the file name where the actual
3335 file system resides.
3337 For example, to recover deleted files on the second partition of the
3338 first SCSI disk on Linux, you would use the following path name:
3341     undel://sda2
3344 It may take a while for the undelfs to load the required information
3345 before you start browsing files there.
3346 .\"NODE "  EXTernal File System"
3347 .SH "  EXTernal File System"
3348 .B extfs
3349 allows you to integrate numerous features and file types into GNU Midnight
3350 Commander in an easy way, by writing scripts.
3352 Extfs filesystems can be divided into two categories:
3354 1. Stand\-alone filesystems, which are not associated with any existing
3355 file.  They represent certain system\-wide data as a directory tree.
3356 You can invoke them by typing
3357 .I "cd fsname://"
3358 where fsname is an extfs short name (see below).  Examples of such
3359 filesystems include audio (list audio tracks on the CD) or apt (list of
3360 all Debian packages in the system).
3362 For example, to list CD\-Audio tracks on your CD\-ROM drive, type
3365   cd audio://
3368 2. 'Archive' filesystems (like rpm, patchfs and more), which represent
3369 contents of a file as a directory tree.  It can consist of 'real' files
3370 compressed in an archive (urar, rpm) or virtual files, like messages
3371 in a mailbox (mailfs) or parts of a patch (patchfs).  To access such
3372 filesystems
3373 .I fsname://
3374 should be appended to the archive name.  Note that the archive itself
3375 can be on another vfs.
3377 For example, to list contents of a zip archive documents.zip type
3380   cd documents.zip/uzip://
3383 In many aspects, you could treat extfs like any other directory.  For
3384 instance, you can add it to the hotlist or change to it from directory
3385 history.  An important limitation is that you cannot invoke shell
3386 commands inside extfs, just like any other non\-local VFS.
3388 Common extfs scripts included with Midnight Commander are:
3390 .B a
3391 access 'A:' DOS/Windows diskette
3392 .RI ( "cd a://" ).
3394 .B apt
3395 front end to Debian's APT package management system
3396 .RI ( "cd apt://" ).
3398 .B audio
3399 audio CD ripping and playing
3400 .RI ( "cd audio://"
3402 .IR "cd device/audio://" ).
3404 .B bpp
3405 package of Bad Penguin GNU/Linux distribution
3406 .RI ( "cd file.bpp/bpp://" ).
3408 .B deb
3409 package of Debian GNU/Linux distribution
3410 .RI ( "cd file.deb/deb://" ).
3412 .B dpkg
3413 Debian GNU/Linux installed packages
3414 .RI ( "cd deb://" ).
3416 .B hp48
3417 view and copy files to/from a HP48 calculator
3418 .RI ( "cd hp48://" ).
3420 .B lslR
3421 browsing of lslR listings as found on many FTPs
3422 .RI ( "cd filename/lslR://" ).
3424 .B mailfs
3425 mbox\-style mailbox files support
3426 .RI ( "cd mailbox/mailfs://" ).
3428 .B patchfs
3429 extfs to handle unified and context diffs
3430 .RI ( "cd filename/patchfs://" ).
3432 .B rpm
3433 RPM package
3434 .RI ( "cd filename/rpm://" ).
3436 .B rpms
3437 RPM database management
3438 .RI ( "cd rpms://" ).
3440 .B ulha, urar, uzip, uzoo, uar, uha
3441 archivers
3442 .RI ( "cd archive/xxxx://"
3443 where xxxx is one of:
3444 .IR ulha ,
3445 .IR urar ,
3446 .IR uzip ,
3447 .IR uzoo ,
3448 .IR uar ,
3449 .IR uha ).
3451 You could bind file type/extension to specified extfs as described in the
3452 .\"LINK2"
3453 Edit Extension File
3454 .\"Edit Extension File"
3455 section.  Here is an example entry for Debian packages:
3458   regex/\.deb$
3459           Open=%cd %p/deb://
3461 .\"NODE "Colors"
3462 .SH "Colors"
3463 Midnight Commander will try to detect if your terminal supports
3464 color using the terminal database and your terminal name.  Sometimes
3465 it gets confused, so you may force color mode or disable color mode
3466 using the \-c and \-b flag respectively.
3468 If the program is compiled with the S\-Lang screen manager instead of
3469 ncurses, it will also check the variable
3470 .B COLORTERM,
3471 if it is set, it has the same effect as the \-c flag.
3473 You may specify terminals that always force color mode
3474 by adding the
3475 .I color_terminals
3476 variable to the Colors section of the initialization file.  This will
3477 prevent Midnight Commander from trying to detect if your terminal
3478 supports color.  Example:
3481 [Colors]
3482 color_terminals=linux,xterm
3483 color_terminals=terminal\-name1,terminal\-name2...
3486 The program can be compiled with both ncurses and S\-Lang, ncurses does
3487 not provide a way to force color mode: ncurses uses just the
3488 information in the terminal database.
3490 Midnight Commander provides a way to change the default colors.
3491 Currently the colors are configured using the environment variable
3492 .B MC_COLOR_TABLE
3493 or the Colors section in the initialization file.
3495 In the Colors section, the default color map is loaded from the
3496 .I base_color
3497 variable.  You can specify an alternate color map for a terminal by
3498 using the terminal name as the key in this section.  Example:
3501 [Colors]
3502 base_color=
3503 xterm=menu=magenta:marked=,magenta:markselect=,red
3506 The format for the color definition is:
3509   <keyword>=<fgcolor>,<bgcolor>,<attributes>:<keyword>=...
3512 The colors are optional, and the keywords are: normal, selected, disabled, marked,
3513 markselect, errors, input, inputmark, inputunchanged, commandlinemark,
3514 reverse, gauge, header, inputhistory, commandhistory. Button bar colors are:
3515 bbarhotkey, bbarbutton. Status bar color: statusbar. Menu colors are: menunormal,
3516 menusel, menuhot, menuhotsel, menuinactive. Dialog colors are: dnormal, dfocus,
3517 dhotnormal, dhotfocus, dtitle. Error dialog colors are: errdfocus, errdhotnormal,
3518 errdhotfocus, errdtitle.  Help colors are: helpnormal, helpitalic, helpbold,
3519 helplink, helpslink, helptitle.  Viewer colors are: viewnormal, viewbold,
3520 viewunderline, viewselected. Editor colors are: editnormal, editbold, editmarked,
3521 editwhitespace, editnonprintable, editlinestate. Popup menu colors are: pmenunormal,
3522 pmenusel, pmenutitle.
3524 .I header
3525 determines the color of panel header, the line that contains column titles
3526 and sort mode indicator.
3528 .I input
3529 determines the color of input lines used in query dialogs.
3531 .I gauge
3532 determines the color of the filled part of the progress bar (gauge),
3533 which is used to show the user the progress of file operations, such as
3534 copying.
3536 .I disabled
3537 determines the color of the widget that cannot be selected.
3539 The dialog boxes use the following colors:
3540 .I dnormal
3541 is used for the normal text,
3542 .I dfocus
3543 is the color used for the currently selected component,
3544 .I dhotnormal
3545 is the color used to differentiate the hotkey color in normal
3546 components, whereas the
3547 .I dhotfocus
3548 color is used for the highlighted color in the currently selected
3549 component.
3551 Menus use the same scheme but uses the menunormal, menusel, menuhot, menuhotsel
3552 and menuinactive tags instead.
3554 Help uses the following colors:
3555 .I helpnormal
3556 is used for normal text,
3557 .I helpitalic
3558 is used for text which is emphasized in italic in the manual page,
3559 .I helpbold
3560 is used for text which is emphasized in bold in the manual page,
3561 .I helplink
3562 is used for not selected hyperlinks and
3563 .I helpslink
3564 is used for selected hyperlink.
3566 Popup menu uses following colors:
3567 .I pmenunormal
3568 is used for non\-selected menu items and as a main color of popup menu window,
3569 .I pmenusel
3570 is used for selected menu item,
3571 .I pmenutitle
3572 is used for popup menu title.
3574 The possible colors are: black, gray, red, brightred, green,
3575 brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta,
3576 cyan, brightcyan, lightgray and white. And there is a special keyword
3577 for transparent background. It is 'default'. The 'default' can only be
3578 used for background color. Another special keyword "base" means mc's main
3579 colors.  When 256 colors are available, they can be specified either as
3580 color16 to color255, or as rgb000 to rgb555 and gray0 to gray23. Example:
3583 [Colors]
3584 base_color=normal=white,default:marked=magenta,default
3587 Attributes can be any of bold, italic, underline, reverse and blink, appended by a
3588 plus sign if more than one are desired.  The special word "none" means no
3589 attributes, without attempting to fall back to base_color.  Example:
3592 menuhotsel=yellow;black;bold+underline
3595 .\"NODE "Skins"
3596 .SH "Skins"
3597 You can change the appearance of Midnight Commander.
3598 To do this, you must specify a file that contain descriptions of colors
3599 and lines to draw boxes. Redefining of the colors is entirely compatible
3600 with the assignment of colors, as described in Section
3601 .\"LINK2"
3602 Colors\&.
3603 .\"Colors"
3605 If your skin contains any true\-color definitions, you should define
3606 the 'truecolors' key set to TRUE value in [skin] section. If true\-color
3607 is not used but 256\-color is, you should define '256colors' instead.
3609 A skin\-file is searched on the following algorithm (to the first one found):
3612 1) command line option
3613 .B \-S <skin>
3615 .B \-\-skin=<skin>
3617 2) Environment variable
3618 .B MC_SKIN
3620 3) Parameter
3621 .B skin
3622 in section
3623 .B [Midnight\-Commander]
3624 in config file.
3626 4) File
3627 .B %sysconfdir%/mc/skins/default.ini
3629 5) File
3630 .B %pkgdatadir%/skins/default.ini
3633 Command line option, environment variable and parameter in config file may
3634 contain the absolute path to the skin\-file (with the extension \.ini
3635 or without it). Search of skin\-file will occur in (to the first one found):
3638 .B ~/.local/share/mc/skins/
3641 .B %sysconfdir%/mc/skins/
3644 .B %pkgdatadir%/skins/
3648 For getting extended info, refer to:
3650 .\"LINK2"
3651 Description of section and parameters
3652 .\"Skins sections"
3654 .\"LINK2"
3655 Color pair definitions
3656 .\"Skins colors"
3658 .\"LINK2"
3659 Color and attribute aliases
3660 .\"Skins aliases"
3662 .\"LINK2"
3663 Draw lines
3664 .\"Skins lines"
3666 .\"LINK2"
3667 Compatibility
3668 .\"Skins oldcolors"
3671 .\"NODE "  Skins sections"
3672 .SH "  Description of section and parameters"
3674 Section
3675 .B [skin]
3676 contain metainfo for skin\-file. Parameter
3677 .I description
3678 contain short text about skin.
3681 Section
3682 .B [filehighlight]
3683 contain descriptions of color pairs for filenames highlighting.
3684 Name of parameters must be equal to names of sections into
3685 filehighlight.ini file.
3687 .\"LINK2"
3688 Filenames Highlight
3689 .\"Filenames Highlight"
3690 for getting more info.
3693 Section
3694 .B [core]
3695 describes the elements that are used everywhere.
3697 .I _default_
3698 Default color pair. Used in all other sections if they not contain
3699 color definitions
3701 .I selected
3702 cursor
3704 .I marked
3705 selected data
3707 .I markselect
3708 cursor on selected data
3710 .I gauge
3711 color of the filled part of the progress bar
3713 .I input
3714 color of input lines used in query dialogs
3716 .I inputmark
3717 color of input selected text
3719 .I inputunchanged
3720 color of input text before first modification or cursor movement
3722 .I commandlinemark
3723 color of selected text in command line
3725 .I reverse
3726 reverse color
3728 Section
3729 .B [dialog]
3730 describes the elements that are placed on dialog windows (except error dialogs).
3732 .I _default_
3733 Default color for this section. Used [core]._default_ if not specified
3735 .I dfocus
3736 Color of active element (in focus)
3738 .I dhotnormal
3739 Color of hotkeys
3741 .I dhotfocus
3742 Color of hotkeys in focused element
3745 Section
3746 .B [error]
3747 describes the elements that are placed on error dialog windows
3749 .I _default_
3750 Default color for this section. Used [core]._default_ if not specified
3752 .I errdhotnormal
3753 Color of hotkeys
3755 .I errdhotfocus
3756 Color of hotkeys in focused element
3759 Section
3760 .B [menu]
3761 describes the elements that are placed in menu. This section describes
3762 system menu (called by F9) and user\-defined menus (called by F2 in panels
3763 and by F11 in editor).
3765 .I _default_
3766 Default color for this section. Used [core]._default_ if not specified
3768 .I entry
3769 Color of menu items
3771 .I menuhot
3772 Color of menu hotkeys
3774 .I menusel
3775 Color of active menu item (in focus)
3777 .I menuhotsel
3778 Color of menu hotkeys in focused menu item
3780 .I menuinactive
3781 Color of inactive menu
3784 Section
3785 .B [help]
3786 describes the elements that are placed on help window.
3788 .I _default_
3789 Default color for this section. Used [core]._default_ if not specified
3791 .I helpitalic
3792 Color pair for element with
3793 .B italic
3794 attribute
3796 .I helpbold
3797 Color pair for element with
3798 .B bold
3799 attribute
3801 .I helplink
3802 Color of links
3804 .I helpslink
3805 Color of active link (on focus)
3808 Section
3809 .B [editor]
3810 describes the colors of elements placed in editor.
3812 .I _default_
3813 Default color for this section. Used [core]._default_ if not specified
3815 .I editbold
3816 Color pair for element with
3817 .B bold
3818 attribute
3820 .I editmarked
3821 Color of selected text
3823 .I editwhitespace
3824 Color of tabs and trailing spaces highlighting
3826 .I editlinestate
3827 Color for line state area
3830 Section
3831 .B [viewer]
3832 describes the colors of elements placed in viewer.
3834 .I viewunderline
3835 Color pair for element with
3836 .B underline
3837 attribute
3839 .\"NODE "  Skins colors"
3840 .SH "  Color pair definitions"
3841 Any parameter in skin\-file contain definition of color pair.
3843 Color pairs described as two colors and the optional attributes
3844 separated by ';'. First field sets the foreground color, second
3845 field sets background color, third field sets the attributes.
3846 Any of the fields may be omitted, in this case value will be
3847 taken from default color pair (global color pair or from default
3848 color pair of this section).
3850 Example:
3853 [core]
3854     # green on black
3855     _default_=green;black
3856     # green (default) on blue
3857     selected=;blue
3858     # yellow on black (default)
3859     # underlined yellow on black (default)
3860     marked=yellow;;underline
3864 Possible colors (names) and attributes are described in
3865 .\"LINK2"
3866 Colors\&.
3867 .\"Colors"
3868 section.
3870 .\"NODE "  Skins aliases"
3871 .SH "  Color and attribute aliases"
3872 This optional section might define aliases for single colors (not color pairs)
3873 as well as combination of attributes; in other words, for semicolon\-separated
3874 fragments of parameters. Aliases can refer to other aliases as long as they
3875 don't form a loop.
3877 Example:
3880 [aliases]
3881     myfavfg=green
3882     myfavbg=black
3883     myfavattr=bold+italic
3884 [core]
3885     _default_=myfavfg;myfavbg;myfavattr
3888 .\"NODE "  Skins lines"
3889 .SH "  Draw lines"
3890 Lines sets in section
3891 .B [Lines]
3892 into skin\-file. By default single lines are used, but you may redefine
3893 to usage of any utf\-8 symbols (like to lines, for example).
3895 .I WARNING!!!
3896 When you build Midnight Commander with the ncurses screen library
3897 usage of drawing lines is limited!
3898 Possible only drawing a single lines.
3899 For all questions and comments please contact the developers of ncurses.
3902 Descriptions of parameters
3903 .BR [Lines] :
3905 .I lefttop
3906 left\-top line fragment.
3908 .I righttop
3909 right\-top line fragment.
3911 .I centertop
3912 down branch of horizontal line
3914 .I centerbottom
3915 up branch of horizontal line
3917 .I leftbottom
3918 left\-bottom line fragment
3920 .I rightbottom
3921 right\-bottom line fragment
3923 .I leftmiddle
3924 right branch of vertical line
3926 .I rightmiddle
3927 left branch of vertical line
3929 .I centermiddle
3930 cross of lines
3932 .I horiz
3933 horizontal line
3935 .I vert
3936 vertical line
3938 .I thinhoriz
3939 thin horizontal line
3941 .I thinvert
3942 thin vertical line
3945 .\"NODE "  Skins oldcolors"
3946 .SH "  Compatibility"
3948 Appointment of color  by skin\-files fully compatible with
3949 the appointment of the colors described in
3950 .\"LINK2"
3951 Colors\&.
3952 .\"Colors"
3953 section.
3955 In this case, reassignment of colors has priority over the skin file and is
3956 complementary.
3958 .\"NODE "Filenames Highlight"
3959 .SH "Filenames Highlight"
3960 Section [filehighlight] in current skin\-file contains key names as
3961 highlight groups and values as color pairs. Color pairs is documented
3963 .\"LINK2"
3964 Skins
3965 .\"Skins"
3966 section.
3968 Rules of filenames highlight are placed in %pkgdatadir%/filehighlight.ini file
3969 (~/.config/mc/filehighlight.ini).
3970 Name of section in this file must be equal to parameters names in
3971 [filehighlight] section (in current skin\-file).
3973 Keys in these groups are:
3975 .I type
3976 file type. If present, all other options are ignored.
3978 .I regexp
3979 regular expression. If present, 'extensions' option is ignored.
3981 .I extensions
3982 list of extensions of files. Separated by ';' sign.
3984 .I extensions_case
3985 (make sense only with 'extensions' parameter) make 'extensions'
3986 rule case sensitive (true) or not (false).
3988 `type' key may have values:
3990 \- FILE (all files)
3991   \- FILE_EXE
3992 \- DIR (all directories)
3993   \- LINK_DIR
3994 \- LINK (all links except stale link)
3995   \- HARDLINK
3996   \- SYMLINK
3997 \- STALE_LINK
3998 \- DEVICE (all device files)
3999   \- DEVICE_BLOCK
4000   \- DEVICE_CHAR
4001 \- SPECIAL (all special files)
4002   \- SPECIAL_SOCKET
4003   \- SPECIAL_FIFO
4004   \- SPECIAL_DOOR
4008 .\"NODE "Special Settings"
4009 .SH "Special Settings"
4010 Most of Midnight Commander settings can be changed from the
4011 menus. However, there are a small number of settings which can only be
4012 changed by editing the setup file.
4014 These variables may be set in your ~/.config/mc/ini file:
4016 .I clear_before_exec
4017 By default, Midnight Commander clears the screen before executing a
4018 command.  If you would prefer to see the output of the command at the
4019 bottom of the screen, edit your ~/.config/mc/ini file and change the value of
4020 the field clear_before_exec to 0.
4022 .I confirm_view_dir
4023 If you press F3 on a directory, normally MC enters that directory.  If
4024 this flag is set to 1, then MC will ask for confirmation before changing
4025 the directory if you have files tagged.
4027 .I ftpfs_retry_seconds
4028 This value is the number of seconds Midnight Commander will wait
4029 before attempting to reconnect to an FTP server that has denied the
4030 login.  If the value is zero, the login will no be retried.
4032 .I max_dirt_limit
4033 Specifies how many screen updates can be skipped at most in the internal
4034 file viewer.  Normally this value is not significant, because the code
4035 automatically adjusts the number of updates to skip according to the
4036 rate of incoming keystrokes.  However, on very slow machines or
4037 terminals with a fast keyboard auto repeat, a big value can make screen
4038 updates too jumpy.
4040 It seems that setting max_dirt_limit to 10 causes the best behavior,
4041 and that is the default value.
4043 .I mouse_move_pages_viewer
4044 Controls if scrolling with the mouse is done by pages or line by line
4045 on the internal file viewer.
4047 .I only_leading_plus_minus
4048 Allow special treatment for '+', '\-', '*' in the command line (select,
4049 unselect, reverse selection) only if the command line is empty.  You
4050 don't need to quote those characters in the middle of the command line.
4051 On the other hand, you cannot use them to change selection when the
4052 command line is not empty.
4054 .I alternate_plus_minus
4055 If true, use '+', '\-', '\\' and '*' keys normally. For select/unselect,
4056 use 'Alt\-+', 'Alt\--' and 'Alt\-*'.
4058 .I show_output_starts_shell
4059 This variable only works if you are not using the subshell support.
4060 When you use the C\-o keystroke to go back to the user screen, if this
4061 one is set, you will get a fresh shell.  Otherwise, pressing any key
4062 will bring you back to Midnight Commander.
4064 .I timeformat_recent
4065 Change the time format used to display dates less than 6 months from
4066 now.
4067 See strftime or date man page for the format specification. If this
4068 option is absent, default timeformat is used.
4070 .I timeformat_old
4071 Change the time format used to display  dates older than 6 months from
4072 now or for dates in the future.
4073 See strftime or date man page for the format specification. If this
4074 option is absent, default timeformat is used.
4076 .I torben_fj_mode
4077 If this flag is set, then the home and end keys will work slightly
4078 different on the panels, instead of moving the selection to the first
4079 and last files in the panels, they will act as follows:
4081 The home key will: Go up to the middle line, if below it; else go to the
4082 top line unless it is already on the top line, in this case it will go
4083 to the first file in the panel.
4085 The end key has a similar behavior: Go down to the middle line, if over
4086 it; else go to the bottom line unless you already are at the bottom
4087 line, in such case it will move the selection to the last file name in
4088 the panel.
4090 .I use_file_to_guess_type
4091 If this variable is on (the default) it will spawn the file command to
4092 match the file types listed on the
4093 .\"LINK2"
4094 mc.ext.ini file\&.
4095 .\"Edit Extension File"
4097 .I xtree_mode
4098 If this variable is on (default is off) when you browse the file system
4099 on a Tree panel, it will automatically reload the other panel with the
4100 contents of the selected directory.
4102 .I shell_directory_timeout
4103 This variable holds the lifetime of a directory cache entry in seconds. The
4104 default value is 900 seconds.
4106 .I clipboard_store
4107 This variable contains path (with options) to the external clipboard
4108 utility like 'xclip' to read text into X selection from file.
4109 For example:
4112 clipboard_store=xclip \-i
4115 .I clipboard_paste
4116 This variable contains path (with options) to the external clipboard
4117 utility like 'xclip' to print the selection to standard out.
4118 For example:
4121 clipboard_paste=xclip \-o
4124 .I autodetect_codeset
4125 This option allows use the `enca' command to autodetect codeset of text files
4126 in internal viewer and editor. List of valid values can be obtain by the
4127 `enca \-\-list languages | cut \-d : \-f1' command. Option must be located
4128 in the [Misc] section.
4130 For example:
4133 autodetect_codeset=russian
4135 .\"NODE "Parameters for external editor or viewer"
4136 .SH "Parameters for external editor or viewer"
4137 Midnight Commander provides a way for specify an options for external editors
4138 and viewers. Midnight Commander tries to search the
4139 "[External editor or viewer parameters]" section in the system initialization file
4140 (the mc.lib file located in Midnight Commander's library directory)
4141 and then in the ~/.config/mc/ini file. The option name should be equal to the name
4142 (full pathname) of external editor or viewer. The option value can contain following
4143 variables:
4145 .I %filename
4146 The filename to edit/view.
4148 .I %lineno
4149 The start line in the opening file.
4151 For example:
4154 [External editor or viewer parameters]
4155     vi=%filename +%lineno
4156     joe=%filename +%lineno
4157     more=%filename +%lineno
4160 Start line is passed to the external editor/viewer only if it is called from the
4161 .\"LINK2"
4162 Find file
4163 .\"Find File"
4164 results window.
4166 If external editor/viewer is launched via F4/F3 keys, MC hopes that program
4167 (at least "joe", but probably others too) has an own feature that by default
4168 opens the file where it was last open. MC doesn't prevent external editor/viewer
4169 to save and restore position in opened files.
4170 .\"NODE "Terminal databases"
4171 .SH "Terminal databases"
4172 Midnight Commander provides a way to fix your system terminal
4173 database without requiring root privileges. Midnight Commander
4174 searches in the system initialization file (the mc.lib file located in
4175 Midnight Commander's library directory) and in the 
4176 ~/.config/mc/ini file for the section 
4177 "terminal:your\-terminal\-name" and then for the section
4178 "terminal:general", each line of the section contains a key symbol that
4179 you want to define, followed by an equal sign and the definition for the
4180 key.  You can use the special \\e form to represent the escape character
4181 and the ^x to represent the control\-x character.
4183 The possible key symbols are:
4186 f0 to f20     Function keys f0\-f20
4187 bs            backspace
4188 home          home key
4189 end           end key
4190 up            up arrow key
4191 down          down arrow key
4192 left          left arrow key
4193 right         right arrow key
4194 pgdn          page down key
4195 pgup          page up key
4196 insert        the insert character
4197 delete        the delete character
4198 complete      to do completion
4201 For example, to define the key insert to be the Escape + [ + O + p, you
4202 set this in the ini file:
4205 insert=\\e[Op
4209 Also now you can use
4210 .I extended learn keys.
4211 For example:
4214     ctrl\-alt\-right=\\e[[1;6C
4215     ctrl\-alt\-left=\\e[[1;6D
4219 This means that ctrl+alt+left sends a \\e[[1;6D escape sequence
4220 and therefore Midnight Commander interprets "\\e[[1;6D" as C\-Alt\-Left.
4224 .I complete
4225 key symbol represents the escape sequences used to invoke the completion
4226 process, this is invoked with Alt\-tab, but you can define other keys to do
4227 the same work (on those keyboard with tons of nice and unused keys
4228 everywhere).
4229 .SH ""
4230 .\"NODE "FILES"
4231 .SH "FILES"
4232 Full paths below may vary between installations.  They are also affected
4233 by the
4234 .B MC_DATADIR
4235 environment variable. If it's set, its value is used instead of
4236 %pkgdatadir% in the paths below.
4238 .I %pkgdatadir%/help/mc.hlp
4240 The help file for the program.
4242 .I %pkgdatadir%/mc.ext.ini
4244 The default system\-wide extensions file.
4246 .I ~/.config/mc/mc.ext.ini
4248 User's own extension, view configuration and edit configuration
4249 file.  They override the contents of the system wide files if present.
4251 .I %sysconfdir%/mc/mc.ini
4253 .I %pkgdatadir%/mc.ini
4255 System\-wide setup files for Midnight Commander, used only if the user
4256 doesn't have his own
4257 .B ~/.config/mc/ini
4258 file. If %sysconfdir%/mc/mc.ini exists, %pkgdatadir%/mc.ini isn't used.
4260 .I %pkgdatadir%/mc.lib
4262 Global settings for Midnight Commander. Settings in this file
4263 affect all users, whether they have ~/.config/mc/ini or not.  Currently, only
4264 .\"LINK2"
4265 terminal settings
4266 .\"Terminal databases"
4267 are loaded from mc.lib.
4269 .I ~/.config/mc/ini
4271 User's own setup. If this file is present then the setup is loaded
4272 from here instead of the system\-wide startup file.
4274 .I %pkgdatadir%/hints/mc.hint
4276 This file contains the hints displayed by the program.
4278 .I %pkgdatadir%/mc.menu
4280 This file contains the default system\-wide applications menu.
4282 .I ~/.config/mc/menu
4284 User's own application menu. If this file is present it is used instead
4285 of the system\-wide applications menu.
4287 .I ~/.cache/mc/Tree
4289 The directory list for the directory tree and tree view features.
4291 .I ~/.local/share/mc.menu
4293 Local user\-defined menu. If this file is present, it is used instead of
4294 the home or system\-wide applications menu.
4296 To change default root directory of MC, you can use
4297 .B MC_PROFILE_ROOT
4298 environment variable. The value of MC_PROFILE_ROOT must be an absolute path.
4299 If MC_PROFILE_ROOT is unset or empty, HOME variable is used. If HOME is unset
4300 or empty, MC directories are get from GLib library.
4301 .\"SKIP_SECTION"
4302 .SH "LICENSE"
4303 This program is distributed under the terms of the GNU General Public
4304 License as published by the Free Software Foundation. See the built\-in
4305 help for details on the License and the lack of warranty.
4306 .\"NODE "AVAILABILITY"
4307 .SH "AVAILABILITY"
4308 The latest version of this program can be found at
4309 http://ftp.midnight\-commander.org/.
4310 .\"NODE "SEE ALSO"
4311 .SH "SEE ALSO"
4312 ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1),
4313 tcsh(1), zsh(1).
4316 Midnight Commander's page on the World Wide Web:
4317         https://www.midnight\-commander.org/
4319 .\"NODE "AUTHORS"
4320 .SH "AUTHORS"
4321 Authors and contributors are listed in the AUTHORS file in the source
4322 distribution.
4323 .\"NODE "BUGS"
4324 .SH "BUGS"
4325 See the file TODO in the distribution for information on what remains to
4326 be done.
4328 If you want to report a problem with the program, please create bugreport
4329 at https://www.midnight\-commander.org/.
4331 Provide a detailed description of the bug, the version of the program
4332 you are running
4333 .RI ( "mc \-V"
4334 displays this information), the operating system you are running the
4335 program on.  If the program crashes, we would appreciate a stack trace.