Merge branch '3205_eta'
[midnight-commander.git] / doc / man / mc.1.in
blob77b5e05c08bb658470ab291cc46ae82d561eadee
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 two progress bars.  The file bytes bar indicates the
2560 percentage of the current file that has been processed so far.  The
2561 total bytes bar indicates the percentage of the total size of the tagged
2562 files that has been handled. Ccounters that show how many of the tagged
2563 files have been handled are displayed. If the
2564 .I Verbose
2565 option is off, the file bytes bar and total bytes bar are not shown.
2567 There are three buttons at the bottom of the dialog:
2569 .B [Skip]
2570 button to skip the rest of the current file.
2572 .B [Suspend]
2573 button to suspend the file operation and button transforms to the
2574 .B [Continue]
2575 one which continue the suspended operation.
2577 .B [Abort]
2578 button to abort the whole operation, the rest of the files are skipped.
2580 There are three other dialogs which you can run into during the file
2581 operations.
2583 The error dialog informs about error conditions and has four choices:
2585 .B [Ignore]
2586 button to ignore this error.
2588 .B [Ignore all]
2589 button to ignore this and all future errors.
2591 .B [Abort]
2592 button to abort the operation altogether.
2594 .B [Retry]
2595 button to continue if you fixed the problem from another terminal.
2597 The replace dialog is shown when you attempt to copy or move a file on
2598 the top of an existing file.  The dialog shows the dates and sizes of
2599 the both files. There are folloing buttons in this dialog:
2601 .B [Yes]
2602 button to overwrite the file.
2604 .B [No]
2605 button to skip the file.
2607 .B [Append]
2608 button to append the source file to the target one.
2610 .B [Reget]
2611 button to append the rest of the source file to the target one.
2612 This button is displayed only if the size of the target file
2613 is non-zero and less than the size of the source file.
2615 .B [All]
2616 button to overwrite all the files.
2618 .B [Older]
2619 button to overwrite if the source file is newer than the target file.
2621 .B [None]
2622 button to never overwrite files
2624 .B [Smaller]
2625 button to overwrite if the source file size is less than the target one.
2627 .B [Size differs]
2628 button to overwrite files with different sizes.
2630 .B [Abort]
2631 button to abort the whole operation.
2633 If the
2634 .B Don't overwrite with zero length file
2635 checkbox is on, the zero\-sized source files don't overwrite the
2636 non\-zero\-sized target files.
2638 The recursive delete dialog is shown when you try to delete a directory
2639 which is not empty. There are folloing buttons in this dialog:
2641 .B [Yes]
2642 button to delete the directory recursively.
2644 .B [No]
2645 button to skip the directory.
2647 .B [All]
2648 button to delete all the directories.
2650 .B [None]
2651 button to skip all the non\-empty directories.
2653 .B [Abort]
2654 button to abort the whole operation.
2656 If you have tagged files and perform an operation on them only the files
2657 on which the operation succeeded are untagged. Failed and skipped files
2658 are left tagged.
2659 .\"NODE "Mask Copy/Rename"
2660 .SH "Mask Copy/Rename"
2661 The copy/move operations let you translate the names of files in an
2662 easy way.  To do it, you have to specify the correct source mask and
2663 usually in the trailing part of the destination specify some wildcards.
2664 All the files matching the source mask are copied/renamed according to
2665 the target mask.  If there are tagged files, only the tagged files
2666 matching the source mask are renamed.
2668 There are other options which you can set:
2670 .B Follow links
2672 determines whether make the symlinks and hardlinks in the source
2673 directory (recursively in subdirectories) new links in the target
2674 directory or whether would you like to copy their content.
2676 .B Dive into subdirs
2678 determines the behavior when the source directory is about to be copied,
2679 but the target directory already exists.  The default action is to copy
2680 the contents of the source directory into the target directory.
2681 Enabling this option causes copying the source directory itself into the
2682 target directory.
2684 For example, you want to copy directory
2685 .I /foo
2686 containing file
2687 .I bar
2689 .IR /bla/foo ,
2690 which is an already existing directory.  Normally (when
2691 .B Dive into subdirs
2692 is not set), mc would copy file
2693 .I /foo/bar
2694 into the file
2695 .IR /bla/foo/bar .
2696 By enabling this option the
2697 .I /bla/foo/foo
2698 directory will be created, and
2699 .I /foo/bar
2700 will be copied into
2701 .IR /bla/foo/foo/bar .
2703 .B Preserve attributes
2705 determines whether to preserve the permissions, timestamps and (if you
2706 are root) the ownership of the original files.  If this option is not
2707 set, the current value of the umask will be respected.
2709 .B Use shell patterns
2711 When this option is on you can use the '*' and '?' wildcards in the source
2712 mask. They work like they do in the shell. In the target mask only the '*'
2713 and '\\<digit>' wildcards are allowed. The first '*' wildcard in the target
2714 mask corresponds to the first wildcard group in the source mask,
2715 the second '*' corresponds to the second group and so on.  The '\\1' wildcard
2716 corresponds to the first wildcard group in the source mask, the '\\2' wildcard
2717 corresponds to the second group and so on all the way up to '\\9'.
2718 The '\\0' wildcard is the whole filename of the source file.
2720 Two examples:
2722 If the source mask is "*.tar.gz", the destination is "/bla/*.tgz" and the
2723 file to be copied is "foo.tar.gz", the copy will be "foo.tgz" in "/bla".
2725 Suppose you want to swap basename and extension so that "file.c" would
2726 become "c.file" and so on.  The source mask for this is "*.*" and the
2727 destination is "\\2.\\1".
2729 .B Use shell patterns off
2731 When the shell patterns option is off the MC doesn't do automatic
2732 grouping anymore. You must use '\\(...\\)' expressions in the source
2733 mask to specify meaning for the wildcards in the target mask. This is
2734 more flexible but also requires more typing. Otherwise target masks
2735 are similar to the situation when the shell patterns option is on.
2737 Two examples:
2739 If the source mask is "^\\(.*\\)\\.tar\\.gz$", the destination is
2740 "/bla/*.tgz" and the file to be copied is "foo.tar.gz", the copy
2741 will be "/bla/foo.tgz".
2743 Let's suppose you want to swap basename and extension so that "file.c"
2744 will become "c.file" and so on. The source mask for this is
2745 "^\\(.*\\)\\.\\(.*\\)$" and the destination is "\\2.\\1".
2747 .B Case Conversions
2749 You can also change the case of the filenames.  If you use '\\u'
2750 or '\\l' in the target mask, the next character will be converted to
2751 uppercase or lowercase correspondingly.
2753 If you use '\\U' or '\\L' in the target mask, the next characters will
2754 be converted to uppercase or lowercase correspondingly up to the
2755 next '\\E' or next '\\U', '\\L' or the end of the file name.
2757 The '\\u' and '\\l' are stronger than '\\U' and '\\L'.
2759 For example, if the source mask is '*' (
2760 .I Use shell patterns
2761 on) or '^\\(.*\\)$' (
2762 .I Use shell patterns
2763 off) and the target mask is '\\L\\u*' the file names will be converted
2764 to have initial upper case and otherwise lower case.
2766 You can also use '\\' as a quote character. For example, '\\\\' is
2767 a backslash and '\\*' is an asterisk.
2769 .B Stable symlinks
2771 commands Midnight Commander, that it should change symlinks in the target,
2772 so that they'll point to the same location as it did before. With absolute
2773 symbolic links this does nothing, but if you have a relative one, it will
2774 recompute its value, adding necessary ../ and other directory parts and making
2775 the value as short as possible (most modern filesystems keep short symlinks
2776 inside inodes and thus don't waste much disk space).
2778 .\"NODE "Select/Unselect Files"
2779 .SH "Select/Unselect Files"
2780 The dialog of group of files and directories selection or uselection.
2782 .\"LINK2"
2783 input line
2784 .\"Input Line Keys"
2785 allow enter the regular expression of filenames that will be
2786 selected/unselected.
2788 When
2789 .I Files only
2790 checkbox is on, only files will be selected.  If
2791 .I Files only
2792 is off, as files as directories will be selected.
2793 When
2794 .I Shell Patterns
2795 checkbox is on, the regular expression is much like the filename globbing
2796 in the shell (* standing for zero or more characters and ?  standing
2797 for one character). If
2798 .I Shell Patterns
2799 is off, then the tagging of files is done with normal regular
2800 expressions (see ed (1)). When
2801 .I Case sensitive
2802 checkbox is on, the selection will be case sensitive characters.
2804 .I Case sensitive
2805 is off, the case will be ignored.
2806 .\"NODE "Diff Viewer"
2807 .SH "Internal Diff Viewer"
2808 The mcdiff is a visual diff tool. You can compare two files and edit them
2809 in\-place (diffs are updated dynamically). You can browse and view a working
2810 copy from popular version control systems (GIT, Subversion, etc).
2812 Following shortcuts are available in internal diff viewer of Midnight
2813 Commander.
2815 .B F1
2816 Invoke the built\-in hypertext help viewer.
2818 .B F2
2819 Save modified files.
2821 .B F4
2822 Edit file of the left panel in the internal editor.
2824 .B F14
2825 Edit file of the right panel in the internal editor.
2827 .B F5
2828 Merge the current hunk. Only the current hunk will be merged.
2830 .B F7
2831 Start search.
2833 .B F17
2834 Continue search.
2836 .B F10, Esc, q
2837 Exit from diff viewer.
2839 .B Alt\-s, s
2840 Toggle show of hunk status.
2842 .B Alt\-n, l
2843 Toggle show of line numbers.
2845 .B f
2846 Maximize left panel.
2848 .B =
2849 Make panels equal in width.
2851 .B >
2852 Reduce the size of the right panel.
2854 .B <
2855 Reduce the size of the left panel.
2857 .B c
2858 Toggle show of trailing carriage return (CR) symbol as ^M.
2860 .B 2, 3, 4, 8
2861 Set tabulation size
2863 .B C\-u
2864 Swap contents of diff panels.
2866 .B C\-r
2867 Refresh the screen.
2869 .B C\-o
2870 Switch to the subshell and show the command screen.
2872 .B Enter, Space, n
2873 Find next diff hunk.
2875 .B Backspace, p
2876 Find previous diff hunk.
2878 .B g
2879 Go to line.
2881 .B Down
2882 Scroll one line forward.
2884 .B Up
2885 Scroll one line backward.
2887 .B PageUp
2888 Move one page up.
2890 .B PageDown
2891 Mves one page down.
2893 .B Home, A1
2894 Moves to the line beginning.
2896 .B End
2897 Moves to the line end.
2899 .B C\-Home
2900 Move to the file beginning.
2902 .B C\-End, C1
2903 Move to the file end.
2904 .\"NODE "Internal File Viewer"
2905 .SH "Internal File Viewer"
2906 The internal file viewer provides two display modes: ASCII and hex.
2907 To toggle between modes, use the F4 key.
2909 The viewer will try to use the best method provided by your system or
2910 the file type to display the information.
2911 Some character sequences, which appear most often in preformatted manual
2912 pages, are displayed bold and underlined, thus making a pretty display
2913 of your files.
2915 When in hex mode, the search function accepts text in quotes and
2916 constant numbers.  Text in quotes is matched exactly after removing
2917 the quotes.  Each number matches one byte.  You can mix quoted text
2918 with constants like this:
2921 "String" 34 0xBB 012 "more text"
2924 Numbers are always interpreted in hex. In the example above, "34" is
2925 interpreted as 0x34. The prefix "0x" isn't really needed: we could type
2926 "BB" instead of "0xBB". And "012" is interpreted as 0x12, not as an octal
2927 number.
2929 Here is a listing of the actions associated with each key that the
2930 Midnight Commander handles in the internal file viewer.
2932 .B F1
2933 Invoke the built\-in hypertext help viewer.
2935 .B F2
2936 Toggle the wrap mode.
2938 .B F4
2939 Toggle the hex mode.
2941 .B F5
2942 Goto. You can specify a line number, offset or percentage of file size
2943 of position that you want to view.
2945 .B F7, /, ?
2946 Start search. These keys call the dialog window that allows you to set up
2947 the search options. If key is ? the "Backwards" option is on.
2949 .B C\-s
2950 Continue forward search.
2952 .B C\-r
2953 Continue reverse search.
2955 .B F17, n
2956 Continue search in the chosen direction.
2958 .B N
2959 Temporary change the search direction: backwards if forward search is chosen,
2960 and vice versa.
2962 .B F8
2963 Toggle Raw/Parsed mode: This will show the file as found on disk or if
2964 a processing filter has been specified in the mc.ext.ini file, then the
2965 output from the filter. Current mode is always the other than written
2966 on the button label, since on the button is the mode which you enter
2967 by that key.
2969 .B F9
2970 Toggle the format/unformat mode: when format mode is on the viewer
2971 will interpret some string sequences to show bold and underline with
2972 different colors. Also, on button label is the other mode than current.
2974 .B F10, Esc.
2975 Exit the internal file viewer.
2977 .B PageDown, space, C\-v.
2978 Scroll one page forward.
2980 .B PageUp, Alt\-v, C\-b, Backspace.
2981 Scroll one page backward.
2983 .B Down
2984 Scroll one line forward.
2986 .B Up
2987 Scroll one line backward.
2989 .B C\-l
2990 Refresh the screen.
2992 .B C\-o
2993 Switch to the subshell and show the command screen.
2995 .B "[n] m"
2996 Set the mark n.
2998 .B "[n] r"
2999 Jump to the mark n.
3001 .B C\-f
3002 Jump to the next file.
3004 .B C\-b
3005 Jump to the previous file.
3007 .B Alt\-r
3008 Toggle the ruler.
3010 .B Alt\-e
3011 to change charset of displayed text may use Alt\-e (M\-e).
3012 Recoding is made from selected codepage into system codepage. To
3013 cancel the recoding you may select "<No translation>" in charset
3014 selection dialog.
3016 It's possible to instruct the file viewer how to display a file, look
3017 at the
3018 .\"LINK2"
3019 Edit Extension File section
3020 .\"Edit Extension File"
3022 .\"NODE "Internal File Editor"
3023 .SH "Internal File Editor"
3024 The internal file editor is a full\-featured full screen editor.  It can
3025 edit files up to 64 megabytes.  It is possible to edit binary files.
3026 The internal file editor is invoked using
3027 .B F4
3028 if the
3029 .I use_internal_edit
3030 option is set in the initialization file.
3032 The features it presently supports are: block copy, move, delete, cut,
3033 paste; key for key undo; pull\-down menus; file insertion; macro
3034 commands; regular expression search and replace; S\-arrow text highlighting
3035 (if supported by the terminal); insert\-overwrite toggle; word wrap;
3036 autoindent; tunable tab size; syntax highlighting for various file
3037 types; and an option to pipe text blocks through shell commands like
3038 indent and ispell.
3040 Sections:
3042 .\"LINK2"
3043 Options of editor in ini\-file
3044 .\"Internal File Editor / options"
3046 The editor is very easy to use and requires no tutoring. To see what
3047 keys do what, just consult the appropriate pull\-down menu. Other keys
3048 are: Shift movement keys do text highlighting.
3049 .B C\-Ins
3050 copies to the file
3051 .B mcedit.clip
3053 .B S\-Ins
3054 pastes from mcedit.clip.
3055 .B S\-Del
3056 cuts to
3057 .BR mcedit.clip ,
3059 .B C\-Del
3060 deletes highlighted text. Mouse highlighting also works, and you
3061 can override the mouse as usual by holding down the shift key
3062 while dragging the mouse to let normal terminal mouse highlighting
3063 work.
3065 To define a macro, press
3066 .B C\-R
3067 and then type out the key
3068 strokes you want to be executed. Press
3069 .B C\-R
3070 again when finished. You can then assign the macro to any key you
3071 like by pressing that key. The macro is executed when you press
3072 .B C\-A
3073 and then the assigned key. The macro is also executed if
3074 you press Meta, Ctrl, or Esc and the assigned key, provided that the
3075 key is not used for any other function. Once defined, the macro
3076 commands go into the file
3077 .B ~/.local/share/mc/mcedit/mcedit.macros
3078 You can delete a macro by deleting the
3079 appropriate line in this file.
3081 To change charset of displayed text may use Alt\-e (M\-e).
3082 Recoding is made from selected codepage into system codepage. To
3083 cancel the recoding you may select "<No translation>" in charset
3084 selection dialog.
3086 .B F19
3087 will format the currently highlighted block (plain text or C or C++
3088 code or another). This is controlled by the
3089 file
3090 .B %pkgdatadir%/edit.indent.rc
3091 which is copied to
3092 .B ~/.local/share/mc/mcedit/edit.indent.rc
3093 in your home directory the first time you use it.
3095 The editor also displays non\-us characters (160+). When editing
3096 binary files, you should set
3097 .B display bits
3098 to 7 bits in the options menu to keep the spacing clean.
3100 .\"NODE "Internal File Editor / options"
3101 .SH "Options of editor in ini\-file"
3103 Some editor options of ini\-file are described in this section.
3104 Options are placed in [Midnight\-Commander] section
3106 .I editor_wordcompletion_collect_entire_file
3107 Search autocomplete candidates in entire of file or just from
3108 begin of file to cursor position (0)
3110 .\"NODE "Screen selector"
3111 .SH "Screen selector"
3112 Midnight Commander supports running many internal modules (such as
3113 editor, viewer and diff viewer) simultaneously and switching between
3114 them without closing open files. Using several file managers at a time,
3115 however, is not currently supported.
3117 Let's call each of these modules a screen. There are three ways to
3118 switch between screens, using one of these global shortcuts:
3120 .B Alt\-}
3121 switch to the next screen;
3123 .B Alt\-{
3124 switch to the previous screen;
3126 .B Alt\-`
3127 open a dialog window with the list of currently open screens (or use the
3128 "Screen list" menu item).
3129 .\"NODE "Completion"
3130 .SH "Completion"
3131 Let Midnight Commander type for you.
3133 Attempt to perform completion on the text before current position.  MC
3134 attempts completion treating the text as variable (if the text begins
3135 with
3136 .BR $ ),
3137 username (if the text begins with
3138 .BR ~ ),
3139 hostname (if the text begins with
3140 .BR @ )
3141 or command (if you are on the command line in the position where you
3142 might type a command, possible completions then include shell reserved
3143 words and shell built\-in commands as well) in turn.  If none of these
3144 matches, filename completion is attempted.
3146 Filename, username, variable and hostname completion works on all input
3147 lines, command completion is command line specific.  If the completion
3148 is ambiguous (there are more different possibilities), MC beeps and the
3149 following action depends on the setting of the
3150 .\"LINK2"
3151 Complete: show all
3152 .\"Configuration"
3153 option in the
3154 .\"LINK2"
3155 Configuration
3156 .\"Configuration"
3157 dialog.  If it is enabled, a list of all possibilities pops up next to
3158 the current position and you can select with the arrow keys and
3159 .B Enter
3160 the correct entry.  You can also type the first letters in which the
3161 possibilities differ to move to a subset of all possibilities and
3162 complete as much as possible.  If you press
3163 .B Alt\-Tab
3164 again, only the subset will be shown in the listbox, otherwise the first
3165 item which matches all the previous characters will be highlighted.  As
3166 soon as there is no ambiguity, dialog disappears, but you can hide it by
3167 canceling keys
3168 .BR Esc ,
3169 .B F10
3170 and left and right arrow keys. If
3171 .\"LINK2"
3172 Complete: show all
3173 .\"Configuration"
3174 is disabled, the dialog pops up only if you press
3175 .B Alt\-Tab
3176 for the second time, for the first time MC just beeps.
3178 Apply escaping of \fB?\fR, \fB*\fR, and \fB&\fR symbols (as \fB\\?\fR, \fB\\*\fR,
3179 and \fB\\&\fR) in filenames to disallow use them as metasymbols in regular
3180 expressions when substitution is performed in the input line.
3182 .\"NODE "Virtual File System"
3183 .SH "Virtual File System"
3184 Midnight Commander is provided with a code layer to access the file
3185 system; this code layer is known as the virtual file system switch.  The
3186 virtual file system switch allows Midnight Commander to manipulate
3187 files not located on the Unix file system.
3189 Currently, Midnight Commander is packaged with some Virtual File
3190 Systems (VFS): the
3191 .I local
3192 file system, used for accessing the regular Unix file system; the
3193 .IR ftpfs ,
3194 used to manipulate files on remote systems with the FTP protocol; the
3195 .IR tarfs ,
3196 used to manipulate tar and compressed tar files; the
3197 .IR undelfs ,
3198 used to recover deleted files on ext2 file systems (the default file
3199 system for Linux systems),
3200 .I shell
3201 (for manipulating files over shell connections such as rsh and ssh).
3202 If the code was compiled with
3203 .I sftpfs
3204 (for manipulating files over SFTP connections).
3206 A generic
3207 .I extfs
3208 (EXTernal virtual File System) is provided in order to easily expand
3209 VFS capabilities using scripts and external software.
3211 The VFS switch code will interpret all of the path names used and will
3212 forward them to the correct file system, the formats used for each one
3213 of the file systems is described later in their own section.
3214 .\"NODE "  FTP File System"
3215 .SH "  FTP File System"
3216 The FTP File System (ftpfs) allows you to manipulate files on remote
3217 machines.  To actually use it, you can use the
3218 .I FTP link
3219 item in the menu or directly change your current directory using the
3220 .I cd
3221 command to a path name that looks like this:
3223 .I ftp://[!][user[:pass]@]machine[:port]/[remote\-dir]
3226 .IR user ,
3227 .I port
3229 .I remote\-dir
3230 elements are optional.  If you specify the
3231 .I user
3232 element, Midnight Commander will login to the remote machine as that
3233 user, otherwise it will use anonymous login or the login name from the
3234 .I ~/.netrc
3235 file.  The optional
3236 .I pass
3237 element is the password used for the connection.  Using the password in
3238 the VFS directory name is not recommended, because it can appear on the
3239 screen in clear text and can be saved to the directory history.
3241 To enable using FTP proxy, prepend
3242 .B !
3243 (an exclamation sign) to the hostname.
3245 Examples:
3248     ftp://ftp.nuclecu.unam.mx/linux/local
3249     ftp://tsx\-11.mit.edu/pub/linux/packages
3250     ftp://!behind.firewall.edu/pub
3251     ftp://guest@remote\-host.com:40/pub
3252     ftp://miguel:xxx@server/pub
3255 Please check the
3256 .\"LINK2"
3257 Virtual File System
3258 .\"Virtual FS"
3259 dialog box for ftpfs options.
3260 .\"NODE "  Tar File System"
3261 .SH "  Tar File System"
3262 The tar file system provides you with read\-only access to your tar
3263 files and compressed tar files by using the chdir command.  To change
3264 your directory to a tar file, you change your current directory to the
3265 tar file by using the following syntax:
3267 .I /filename.tar/utar://[dir\-inside\-tar]
3269 The mc.ext.ini file already provides a shortcut for tar files, this means
3270 that usually you just point to a tar file and press return to enter
3271 into the tar file, see the
3272 .\"LINK2"
3273 Edit Extension File
3274 .\"Edit Extension File"
3275 section for details on how this is done.
3277 Examples:
3280     mc\-3.0.tar.gz/utar://mc\-3.0/vfs
3281     /ftp/GCC/gcc\-2.7.0.tar/utar://
3284 The latter specifies the full path of the tar archive.
3285 .\"NODE "  FIle transfer over SHell filesystem"
3286 .SH "  FIle transfer over SHell filesystem"
3287 The shell file system is a network based file system that allows you to
3288 manipulate the files in a remote machine as if they were local. To use
3289 this, the other side has to have bash\-compatible shell.
3291 To connect to a remote machine, you just need to chdir
3292 into a special directory which name is in the following
3293 format:
3295 .I sh://[user@]machine[:options]/[remote\-dir]
3298 .I user,
3299 .I options
3301 .I remote\-dir
3302 elements are optional.  If you specify the
3303 .I user
3304 element, Midnight Commander will try to login on the remote
3305 machine as that user, otherwise it will use your login name.
3307 The available
3308 .I options
3309 are:
3311   'C' \- use compression;
3312   'r' \- use rsh instead of ssh;
3313   port \- specify the port used by remote server.
3315 If the
3316 .I remote\-dir
3317 element is present, your current directory on the remote machine will be
3318 set to this one.
3320 Examples:
3323     sh://onlyrsh.mx:r/linux/local
3324     sh://joe@want.compression.edu:C/private
3325     sh://joe@noncompressed.ssh.edu/private
3326     sh://joe@somehost.ssh.edu:2222/private
3328 .\"NODE "  SFTP (SSH File Transfer Protocol) filesystem"
3329 .SH "  SFTP (SSH File Transfer Protocol) filesystem"
3330 The SFTP file system is a network based file system that allows you to
3331 manipulate the files in a remote machine as if they were local.
3333 To connect to a remote machine, you just need to chdir
3334 into a special directory which name is in the following
3335 format:
3337 .I sftp://[user@]machine:[port]/[remote\-dir]
3340 .I user,
3341 .I port
3343 .I remote\-dir
3344 elements are optional.  If you specify the
3345 .I user
3346 element, Midnight Commander will try to login on the remote
3347 machine as that user, otherwise it will use your login name.
3348 .I port
3349 \- specify the port used by remote server (22 by default).
3350 If the
3351 .I remote\-dir
3352 element is present, your current directory on the remote machine will be
3353 set to this one.
3355 Examples:
3358     sftp://onlyrsh.mx/linux/local
3359     sftp://joe:password@want.compression.edu/private
3360     sftp://joe@noncompressed.ssh.edu/private
3361     sftp://joe@somehost.ssh.edu:2222/private
3364 When establishing the connection, server key fingerprint is verified using
3365 the ~/.ssh/known_hosts file. If the host/key pair is not found or the host is found,
3366 but the key doesn't match, an appropriate message is shown.
3367 There are three buttons in the message dialog:
3369 .B [Yes]
3370 add new host/key pair to the ~/.ssh/known_hosts file and continue.
3372 .B [Ignore]
3373 do not add new host/key pair to the ~/.ssh/known_hosts file, but continue
3374 nevertheless (at you own risk).
3376 .B [No]
3377 abort connection.
3378 .\"NODE "  Undelete File System"
3379 .SH "  Undelete File System"
3380 On Linux systems, if you asked configure to use the ext2fs undelete
3381 facilities, you will have the undelete file system available.
3382 Recovery of deleted files is only available on ext2 file systems.  The
3383 undelete file system is just an interface to the ext2fs library to
3384 retrieve all of the deleted files names on an ext2fs and provides and
3385 to extract the selected files into a regular partition.
3387 To use this file system, you have to chdir into the special file name
3388 formed by the "undel://" prefix and the file name where the actual
3389 file system resides.
3391 For example, to recover deleted files on the second partition of the
3392 first SCSI disk on Linux, you would use the following path name:
3395     undel://sda2
3398 It may take a while for the undelfs to load the required information
3399 before you start browsing files there.
3400 .\"NODE "  EXTernal File System"
3401 .SH "  EXTernal File System"
3402 .B extfs
3403 allows you to integrate numerous features and file types into GNU Midnight
3404 Commander in an easy way, by writing scripts.
3406 Extfs filesystems can be divided into two categories:
3408 1. Stand\-alone filesystems, which are not associated with any existing
3409 file.  They represent certain system\-wide data as a directory tree.
3410 You can invoke them by typing
3411 .I "cd fsname://"
3412 where fsname is an extfs short name (see below).  Examples of such
3413 filesystems include audio (list audio tracks on the CD) or apt (list of
3414 all Debian packages in the system).
3416 For example, to list CD\-Audio tracks on your CD\-ROM drive, type
3419   cd audio://
3422 2. 'Archive' filesystems (like rpm, patchfs and more), which represent
3423 contents of a file as a directory tree.  It can consist of 'real' files
3424 compressed in an archive (urar, rpm) or virtual files, like messages
3425 in a mailbox (mailfs) or parts of a patch (patchfs).  To access such
3426 filesystems
3427 .I fsname://
3428 should be appended to the archive name.  Note that the archive itself
3429 can be on another vfs.
3431 For example, to list contents of a zip archive documents.zip type
3434   cd documents.zip/uzip://
3437 In many aspects, you could treat extfs like any other directory.  For
3438 instance, you can add it to the hotlist or change to it from directory
3439 history.  An important limitation is that you cannot invoke shell
3440 commands inside extfs, just like any other non\-local VFS.
3442 Common extfs scripts included with Midnight Commander are:
3444 .B a
3445 access 'A:' DOS/Windows diskette
3446 .RI ( "cd a://" ).
3448 .B apt
3449 front end to Debian's APT package management system
3450 .RI ( "cd apt://" ).
3452 .B audio
3453 audio CD ripping and playing
3454 .RI ( "cd audio://"
3456 .IR "cd device/audio://" ).
3458 .B bpp
3459 package of Bad Penguin GNU/Linux distribution
3460 .RI ( "cd file.bpp/bpp://" ).
3462 .B deb
3463 package of Debian GNU/Linux distribution
3464 .RI ( "cd file.deb/deb://" ).
3466 .B dpkg
3467 Debian GNU/Linux installed packages
3468 .RI ( "cd deb://" ).
3470 .B hp48
3471 view and copy files to/from a HP48 calculator
3472 .RI ( "cd hp48://" ).
3474 .B lslR
3475 browsing of lslR listings as found on many FTPs
3476 .RI ( "cd filename/lslR://" ).
3478 .B mailfs
3479 mbox\-style mailbox files support
3480 .RI ( "cd mailbox/mailfs://" ).
3482 .B patchfs
3483 extfs to handle unified and context diffs
3484 .RI ( "cd filename/patchfs://" ).
3486 .B rpm
3487 RPM package
3488 .RI ( "cd filename/rpm://" ).
3490 .B rpms
3491 RPM database management
3492 .RI ( "cd rpms://" ).
3494 .B ulha, urar, uzip, uzoo, uar, uha
3495 archivers
3496 .RI ( "cd archive/xxxx://"
3497 where xxxx is one of:
3498 .IR ulha ,
3499 .IR urar ,
3500 .IR uzip ,
3501 .IR uzoo ,
3502 .IR uar ,
3503 .IR uha ).
3505 You could bind file type/extension to specified extfs as described in the
3506 .\"LINK2"
3507 Edit Extension File
3508 .\"Edit Extension File"
3509 section.  Here is an example entry for Debian packages:
3512   regex/\.deb$
3513           Open=%cd %p/deb://
3515 .\"NODE "Colors"
3516 .SH "Colors"
3517 Midnight Commander will try to detect if your terminal supports
3518 color using the terminal database and your terminal name.  Sometimes
3519 it gets confused, so you may force color mode or disable color mode
3520 using the \-c and \-b flag respectively.
3522 If the program is compiled with the S\-Lang screen manager instead of
3523 ncurses, it will also check the variable
3524 .B COLORTERM,
3525 if it is set, it has the same effect as the \-c flag.
3527 You may specify terminals that always force color mode
3528 by adding the
3529 .I color_terminals
3530 variable to the Colors section of the initialization file.  This will
3531 prevent Midnight Commander from trying to detect if your terminal
3532 supports color.  Example:
3535 [Colors]
3536 color_terminals=linux,xterm
3537 color_terminals=terminal\-name1,terminal\-name2...
3540 The program can be compiled with both ncurses and S\-Lang, ncurses does
3541 not provide a way to force color mode: ncurses uses just the
3542 information in the terminal database.
3544 Midnight Commander provides a way to change the default colors.
3545 Currently the colors are configured using the environment variable
3546 .B MC_COLOR_TABLE
3547 or the Colors section in the initialization file.
3549 In the Colors section, the default color map is loaded from the
3550 .I base_color
3551 variable.  You can specify an alternate color map for a terminal by
3552 using the terminal name as the key in this section.  Example:
3555 [Colors]
3556 base_color=
3557 xterm=menu=magenta:marked=,magenta:markselect=,red
3560 The format for the color definition is:
3563   <keyword>=<fgcolor>,<bgcolor>,<attributes>:<keyword>=...
3566 The colors are optional, and the keywords are: normal, selected, disabled, marked,
3567 markselect, errors, input, inputmark, inputunchanged, commandlinemark,
3568 reverse, gauge, header, inputhistory, commandhistory. Button bar colors are:
3569 bbarhotkey, bbarbutton. Status bar color: statusbar. Menu colors are: menunormal,
3570 menusel, menuhot, menuhotsel, menuinactive. Dialog colors are: dnormal, dfocus,
3571 dhotnormal, dhotfocus, dtitle. Error dialog colors are: errdfocus, errdhotnormal,
3572 errdhotfocus, errdtitle.  Help colors are: helpnormal, helpitalic, helpbold,
3573 helplink, helpslink, helptitle.  Viewer colors are: viewnormal, viewbold,
3574 viewunderline, viewselected. Editor colors are: editnormal, editbold, editmarked,
3575 editwhitespace, editnonprintable, editlinestate. Popup menu colors are: pmenunormal,
3576 pmenusel, pmenutitle.
3578 .I header
3579 determines the color of panel header, the line that contains column titles
3580 and sort mode indicator.
3582 .I input
3583 determines the color of input lines used in query dialogs.
3585 .I gauge
3586 determines the color of the filled part of the progress bar (gauge),
3587 which is used to show the user the progress of file operations, such as
3588 copying.
3590 .I disabled
3591 determines the color of the widget that cannot be selected.
3593 The dialog boxes use the following colors:
3594 .I dnormal
3595 is used for the normal text,
3596 .I dfocus
3597 is the color used for the currently selected component,
3598 .I dhotnormal
3599 is the color used to differentiate the hotkey color in normal
3600 components, whereas the
3601 .I dhotfocus
3602 color is used for the highlighted color in the currently selected
3603 component.
3605 Menus use the same scheme but uses the menunormal, menusel, menuhot, menuhotsel
3606 and menuinactive tags instead.
3608 Help uses the following colors:
3609 .I helpnormal
3610 is used for normal text,
3611 .I helpitalic
3612 is used for text which is emphasized in italic in the manual page,
3613 .I helpbold
3614 is used for text which is emphasized in bold in the manual page,
3615 .I helplink
3616 is used for not selected hyperlinks and
3617 .I helpslink
3618 is used for selected hyperlink.
3620 Popup menu uses following colors:
3621 .I pmenunormal
3622 is used for non\-selected menu items and as a main color of popup menu window,
3623 .I pmenusel
3624 is used for selected menu item,
3625 .I pmenutitle
3626 is used for popup menu title.
3628 The possible colors are: black, gray, red, brightred, green,
3629 brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta,
3630 cyan, brightcyan, lightgray and white. And there is a special keyword
3631 for transparent background. It is 'default'. The 'default' can only be
3632 used for background color. Another special keyword "base" means mc's main
3633 colors.  When 256 colors are available, they can be specified either as
3634 color16 to color255, or as rgb000 to rgb555 and gray0 to gray23. Example:
3637 [Colors]
3638 base_color=normal=white,default:marked=magenta,default
3641 Attributes can be any of bold, italic, underline, reverse and blink, appended by a
3642 plus sign if more than one are desired.  The special word "none" means no
3643 attributes, without attempting to fall back to base_color.  Example:
3646 menuhotsel=yellow;black;bold+underline
3649 .\"NODE "Skins"
3650 .SH "Skins"
3651 You can change the appearance of Midnight Commander.
3652 To do this, you must specify a file that contain descriptions of colors
3653 and lines to draw boxes. Redefining of the colors is entirely compatible
3654 with the assignment of colors, as described in Section
3655 .\"LINK2"
3656 Colors\&.
3657 .\"Colors"
3659 If your skin contains any true\-color definitions, you should define
3660 the 'truecolors' key set to TRUE value in [skin] section. If true\-color
3661 is not used but 256\-color is, you should define '256colors' instead.
3663 A skin\-file is searched on the following algorithm (to the first one found):
3666 1) command line option
3667 .B \-S <skin>
3669 .B \-\-skin=<skin>
3671 2) Environment variable
3672 .B MC_SKIN
3674 3) Parameter
3675 .B skin
3676 in section
3677 .B [Midnight\-Commander]
3678 in config file.
3680 4) File
3681 .B %sysconfdir%/mc/skins/default.ini
3683 5) File
3684 .B %pkgdatadir%/skins/default.ini
3687 Command line option, environment variable and parameter in config file may
3688 contain the absolute path to the skin\-file (with the extension \.ini
3689 or without it). Search of skin\-file will occur in (to the first one found):
3692 .B ~/.local/share/mc/skins/
3695 .B %sysconfdir%/mc/skins/
3698 .B %pkgdatadir%/skins/
3702 For getting extended info, refer to:
3704 .\"LINK2"
3705 Description of section and parameters
3706 .\"Skins sections"
3708 .\"LINK2"
3709 Color pair definitions
3710 .\"Skins colors"
3712 .\"LINK2"
3713 Color and attribute aliases
3714 .\"Skins aliases"
3716 .\"LINK2"
3717 Draw lines
3718 .\"Skins lines"
3720 .\"LINK2"
3721 Compatibility
3722 .\"Skins oldcolors"
3725 .\"NODE "  Skins sections"
3726 .SH "  Description of section and parameters"
3728 Section
3729 .B [skin]
3730 contain metainfo for skin\-file. Parameter
3731 .I description
3732 contain short text about skin.
3735 Section
3736 .B [filehighlight]
3737 contain descriptions of color pairs for filenames highlighting.
3738 Name of parameters must be equal to names of sections into
3739 filehighlight.ini file.
3741 .\"LINK2"
3742 Filenames Highlight
3743 .\"Filenames Highlight"
3744 for getting more info.
3747 Section
3748 .B [core]
3749 describes the elements that are used everywhere.
3751 .I _default_
3752 Default color pair. Used in all other sections if they not contain
3753 color definitions
3755 .I selected
3756 cursor
3758 .I marked
3759 selected data
3761 .I markselect
3762 cursor on selected data
3764 .I gauge
3765 color of the filled part of the progress bar
3767 .I input
3768 color of input lines used in query dialogs
3770 .I inputmark
3771 color of input selected text
3773 .I inputunchanged
3774 color of input text before first modification or cursor movement
3776 .I commandlinemark
3777 color of selected text in command line
3779 .I reverse
3780 reverse color
3782 Section
3783 .B [dialog]
3784 describes the elements that are placed on dialog windows (except error dialogs).
3786 .I _default_
3787 Default color for this section. Used [core]._default_ if not specified
3789 .I dfocus
3790 Color of active element (in focus)
3792 .I dhotnormal
3793 Color of hotkeys
3795 .I dhotfocus
3796 Color of hotkeys in focused element
3799 Section
3800 .B [error]
3801 describes the elements that are placed on error dialog windows
3803 .I _default_
3804 Default color for this section. Used [core]._default_ if not specified
3806 .I errdhotnormal
3807 Color of hotkeys
3809 .I errdhotfocus
3810 Color of hotkeys in focused element
3813 Section
3814 .B [menu]
3815 describes the elements that are placed in menu. This section describes
3816 system menu (called by F9) and user\-defined menus (called by F2 in panels
3817 and by F11 in editor).
3819 .I _default_
3820 Default color for this section. Used [core]._default_ if not specified
3822 .I entry
3823 Color of menu items
3825 .I menuhot
3826 Color of menu hotkeys
3828 .I menusel
3829 Color of active menu item (in focus)
3831 .I menuhotsel
3832 Color of menu hotkeys in focused menu item
3834 .I menuinactive
3835 Color of inactive menu
3838 Section
3839 .B [help]
3840 describes the elements that are placed on help window.
3842 .I _default_
3843 Default color for this section. Used [core]._default_ if not specified
3845 .I helpitalic
3846 Color pair for element with
3847 .B italic
3848 attribute
3850 .I helpbold
3851 Color pair for element with
3852 .B bold
3853 attribute
3855 .I helplink
3856 Color of links
3858 .I helpslink
3859 Color of active link (on focus)
3862 Section
3863 .B [editor]
3864 describes the colors of elements placed in editor.
3866 .I _default_
3867 Default color for this section. Used [core]._default_ if not specified
3869 .I editbold
3870 Color pair for element with
3871 .B bold
3872 attribute
3874 .I editmarked
3875 Color of selected text
3877 .I editwhitespace
3878 Color of tabs and trailing spaces highlighting
3880 .I editlinestate
3881 Color for line state area
3884 Section
3885 .B [viewer]
3886 describes the colors of elements placed in viewer.
3888 .I viewunderline
3889 Color pair for element with
3890 .B underline
3891 attribute
3893 .\"NODE "  Skins colors"
3894 .SH "  Color pair definitions"
3895 Any parameter in skin\-file contain definition of color pair.
3897 Color pairs described as two colors and the optional attributes
3898 separated by ';'. First field sets the foreground color, second
3899 field sets background color, third field sets the attributes.
3900 Any of the fields may be omitted, in this case value will be
3901 taken from default color pair (global color pair or from default
3902 color pair of this section).
3904 Example:
3907 [core]
3908     # green on black
3909     _default_=green;black
3910     # green (default) on blue
3911     selected=;blue
3912     # yellow on black (default)
3913     # underlined yellow on black (default)
3914     marked=yellow;;underline
3918 Possible colors (names) and attributes are described in
3919 .\"LINK2"
3920 Colors\&.
3921 .\"Colors"
3922 section.
3924 .\"NODE "  Skins aliases"
3925 .SH "  Color and attribute aliases"
3926 This optional section might define aliases for single colors (not color pairs)
3927 as well as combination of attributes; in other words, for semicolon\-separated
3928 fragments of parameters. Aliases can refer to other aliases as long as they
3929 don't form a loop.
3931 Example:
3934 [aliases]
3935     myfavfg=green
3936     myfavbg=black
3937     myfavattr=bold+italic
3938 [core]
3939     _default_=myfavfg;myfavbg;myfavattr
3942 .\"NODE "  Skins lines"
3943 .SH "  Draw lines"
3944 Lines sets in section
3945 .B [Lines]
3946 into skin\-file. By default single lines are used, but you may redefine
3947 to usage of any utf\-8 symbols (like to lines, for example).
3949 .I WARNING!!!
3950 When you build Midnight Commander with the ncurses screen library
3951 usage of drawing lines is limited!
3952 Possible only drawing a single lines.
3953 For all questions and comments please contact the developers of ncurses.
3956 Descriptions of parameters
3957 .BR [Lines] :
3959 .I lefttop
3960 left\-top line fragment.
3962 .I righttop
3963 right\-top line fragment.
3965 .I centertop
3966 down branch of horizontal line
3968 .I centerbottom
3969 up branch of horizontal line
3971 .I leftbottom
3972 left\-bottom line fragment
3974 .I rightbottom
3975 right\-bottom line fragment
3977 .I leftmiddle
3978 right branch of vertical line
3980 .I rightmiddle
3981 left branch of vertical line
3983 .I centermiddle
3984 cross of lines
3986 .I horiz
3987 horizontal line
3989 .I vert
3990 vertical line
3992 .I thinhoriz
3993 thin horizontal line
3995 .I thinvert
3996 thin vertical line
3999 .\"NODE "  Skins oldcolors"
4000 .SH "  Compatibility"
4002 Appointment of color  by skin\-files fully compatible with
4003 the appointment of the colors described in
4004 .\"LINK2"
4005 Colors\&.
4006 .\"Colors"
4007 section.
4009 In this case, reassignment of colors has priority over the skin file and is
4010 complementary.
4012 .\"NODE "Filenames Highlight"
4013 .SH "Filenames Highlight"
4014 Section [filehighlight] in current skin\-file contains key names as
4015 highlight groups and values as color pairs. Color pairs is documented
4017 .\"LINK2"
4018 Skins
4019 .\"Skins"
4020 section.
4022 Rules of filenames highlight are placed in %pkgdatadir%/filehighlight.ini file
4023 (~/.config/mc/filehighlight.ini).
4024 Name of section in this file must be equal to parameters names in
4025 [filehighlight] section (in current skin\-file).
4027 Keys in these groups are:
4029 .I type
4030 file type. If present, all other options are ignored.
4032 .I regexp
4033 regular expression. If present, 'extensions' option is ignored.
4035 .I extensions
4036 list of extensions of files. Separated by ';' sign.
4038 .I extensions_case
4039 (make sense only with 'extensions' parameter) make 'extensions'
4040 rule case sensitive (true) or not (false).
4042 `type' key may have values:
4044 \- FILE (all files)
4045   \- FILE_EXE
4046 \- DIR (all directories)
4047   \- LINK_DIR
4048 \- LINK (all links except stale link)
4049   \- HARDLINK
4050   \- SYMLINK
4051 \- STALE_LINK
4052 \- DEVICE (all device files)
4053   \- DEVICE_BLOCK
4054   \- DEVICE_CHAR
4055 \- SPECIAL (all special files)
4056   \- SPECIAL_SOCKET
4057   \- SPECIAL_FIFO
4058   \- SPECIAL_DOOR
4062 .\"NODE "Special Settings"
4063 .SH "Special Settings"
4064 Most of Midnight Commander settings can be changed from the
4065 menus. However, there are a small number of settings which can only be
4066 changed by editing the setup file.
4068 These variables may be set in your ~/.config/mc/ini file:
4070 .I clear_before_exec
4071 By default, Midnight Commander clears the screen before executing a
4072 command.  If you would prefer to see the output of the command at the
4073 bottom of the screen, edit your ~/.config/mc/ini file and change the value of
4074 the field clear_before_exec to 0.
4076 .I confirm_view_dir
4077 If you press F3 on a directory, normally MC enters that directory.  If
4078 this flag is set to 1, then MC will ask for confirmation before changing
4079 the directory if you have files tagged.
4081 .I ftpfs_retry_seconds
4082 This value is the number of seconds Midnight Commander will wait
4083 before attempting to reconnect to an FTP server that has denied the
4084 login.  If the value is zero, the login will no be retried.
4086 .I max_dirt_limit
4087 Specifies how many screen updates can be skipped at most in the internal
4088 file viewer.  Normally this value is not significant, because the code
4089 automatically adjusts the number of updates to skip according to the
4090 rate of incoming keystrokes.  However, on very slow machines or
4091 terminals with a fast keyboard auto repeat, a big value can make screen
4092 updates too jumpy.
4094 It seems that setting max_dirt_limit to 10 causes the best behavior,
4095 and that is the default value.
4097 .I mouse_move_pages_viewer
4098 Controls if scrolling with the mouse is done by pages or line by line
4099 on the internal file viewer.
4101 .I only_leading_plus_minus
4102 Allow special treatment for '+', '\-', '*' in the command line (select,
4103 unselect, reverse selection) only if the command line is empty.  You
4104 don't need to quote those characters in the middle of the command line.
4105 On the other hand, you cannot use them to change selection when the
4106 command line is not empty.
4108 .I alternate_plus_minus
4109 If true, use '+', '\-', '\\' and '*' keys normally. For select/unselect,
4110 use 'Alt\-+', 'Alt\--' and 'Alt\-*'.
4112 .I show_output_starts_shell
4113 This variable only works if you are not using the subshell support.
4114 When you use the C\-o keystroke to go back to the user screen, if this
4115 one is set, you will get a fresh shell.  Otherwise, pressing any key
4116 will bring you back to Midnight Commander.
4118 .I timeformat_recent
4119 Change the time format used to display dates less than 6 months from
4120 now.
4121 See strftime or date man page for the format specification. If this
4122 option is absent, default timeformat is used.
4124 .I timeformat_old
4125 Change the time format used to display  dates older than 6 months from
4126 now or for dates in the future.
4127 See strftime or date man page for the format specification. If this
4128 option is absent, default timeformat is used.
4130 .I torben_fj_mode
4131 If this flag is set, then the home and end keys will work slightly
4132 different on the panels, instead of moving the selection to the first
4133 and last files in the panels, they will act as follows:
4135 The home key will: Go up to the middle line, if below it; else go to the
4136 top line unless it is already on the top line, in this case it will go
4137 to the first file in the panel.
4139 The end key has a similar behavior: Go down to the middle line, if over
4140 it; else go to the bottom line unless you already are at the bottom
4141 line, in such case it will move the selection to the last file name in
4142 the panel.
4144 .I use_file_to_guess_type
4145 If this variable is on (the default) it will spawn the file command to
4146 match the file types listed on the
4147 .\"LINK2"
4148 mc.ext.ini file\&.
4149 .\"Edit Extension File"
4151 .I xtree_mode
4152 If this variable is on (default is off) when you browse the file system
4153 on a Tree panel, it will automatically reload the other panel with the
4154 contents of the selected directory.
4156 .I shell_directory_timeout
4157 This variable holds the lifetime of a directory cache entry in seconds. The
4158 default value is 900 seconds.
4160 .I clipboard_store
4161 This variable contains path (with options) to the external clipboard
4162 utility like 'xclip' to read text into X selection from file.
4163 For example:
4166 clipboard_store=xclip \-i
4169 .I clipboard_paste
4170 This variable contains path (with options) to the external clipboard
4171 utility like 'xclip' to print the selection to standard out.
4172 For example:
4175 clipboard_paste=xclip \-o
4178 .I autodetect_codeset
4179 This option allows use the `enca' command to autodetect codeset of text files
4180 in internal viewer and editor. List of valid values can be obtain by the
4181 `enca \-\-list languages | cut \-d : \-f1' command. Option must be located
4182 in the [Misc] section.
4184 For example:
4187 autodetect_codeset=russian
4189 .\"NODE "Parameters for external editor or viewer"
4190 .SH "Parameters for external editor or viewer"
4191 Midnight Commander provides a way for specify an options for external editors
4192 and viewers. Midnight Commander tries to search the
4193 "[External editor or viewer parameters]" section in the system initialization file
4194 (the mc.lib file located in Midnight Commander's library directory)
4195 and then in the ~/.config/mc/ini file. The option name should be equal to the name
4196 (full pathname) of external editor or viewer. The option value can contain following
4197 variables:
4199 .I %filename
4200 The filename to edit/view.
4202 .I %lineno
4203 The start line in the opening file.
4205 For example:
4208 [External editor or viewer parameters]
4209     vi=%filename +%lineno
4210     joe=%filename +%lineno
4211     more=%filename +%lineno
4214 Start line is passed to the external editor/viewer only if it is called from the
4215 .\"LINK2"
4216 Find file
4217 .\"Find File"
4218 results window.
4220 If external editor/viewer is launched via F4/F3 keys, MC hopes that program
4221 (at least "joe", but probably others too) has an own feature that by default
4222 opens the file where it was last open. MC doesn't prevent external editor/viewer
4223 to save and restore position in opened files.
4224 .\"NODE "Terminal databases"
4225 .SH "Terminal databases"
4226 Midnight Commander provides a way to fix your system terminal
4227 database without requiring root privileges. Midnight Commander
4228 searches in the system initialization file (the mc.lib file located in
4229 Midnight Commander's library directory) and in the 
4230 ~/.config/mc/ini file for the section 
4231 "terminal:your\-terminal\-name" and then for the section
4232 "terminal:general", each line of the section contains a key symbol that
4233 you want to define, followed by an equal sign and the definition for the
4234 key.  You can use the special \\e form to represent the escape character
4235 and the ^x to represent the control\-x character.
4237 The possible key symbols are:
4240 f0 to f20     Function keys f0\-f20
4241 bs            backspace
4242 home          home key
4243 end           end key
4244 up            up arrow key
4245 down          down arrow key
4246 left          left arrow key
4247 right         right arrow key
4248 pgdn          page down key
4249 pgup          page up key
4250 insert        the insert character
4251 delete        the delete character
4252 complete      to do completion
4255 For example, to define the key insert to be the Escape + [ + O + p, you
4256 set this in the ini file:
4259 insert=\\e[Op
4263 Also now you can use
4264 .I extended learn keys.
4265 For example:
4268     ctrl\-alt\-right=\\e[[1;6C
4269     ctrl\-alt\-left=\\e[[1;6D
4273 This means that ctrl+alt+left sends a \\e[[1;6D escape sequence
4274 and therefore Midnight Commander interprets "\\e[[1;6D" as C\-Alt\-Left.
4278 .I complete
4279 key symbol represents the escape sequences used to invoke the completion
4280 process, this is invoked with Alt\-tab, but you can define other keys to do
4281 the same work (on those keyboard with tons of nice and unused keys
4282 everywhere).
4283 .SH ""
4284 .\"NODE "FILES"
4285 .SH "FILES"
4286 Full paths below may vary between installations.  They are also affected
4287 by the
4288 .B MC_DATADIR
4289 environment variable. If it's set, its value is used instead of
4290 %pkgdatadir% in the paths below.
4292 .I %pkgdatadir%/help/mc.hlp
4294 The help file for the program.
4296 .I %pkgdatadir%/mc.ext.ini
4298 The default system\-wide extensions file.
4300 .I ~/.config/mc/mc.ext.ini
4302 User's own extension, view configuration and edit configuration
4303 file.  They override the contents of the system wide files if present.
4305 .I %sysconfdir%/mc/mc.ini
4307 .I %pkgdatadir%/mc.ini
4309 System\-wide setup files for Midnight Commander, used only if the user
4310 doesn't have his own
4311 .B ~/.config/mc/ini
4312 file. If %sysconfdir%/mc/mc.ini exists, %pkgdatadir%/mc.ini isn't used.
4314 .I %pkgdatadir%/mc.lib
4316 Global settings for Midnight Commander. Settings in this file
4317 affect all users, whether they have ~/.config/mc/ini or not.  Currently, only
4318 .\"LINK2"
4319 terminal settings
4320 .\"Terminal databases"
4321 are loaded from mc.lib.
4323 .I ~/.config/mc/ini
4325 User's own setup. If this file is present then the setup is loaded
4326 from here instead of the system\-wide startup file.
4328 .I %pkgdatadir%/hints/mc.hint
4330 This file contains the hints displayed by the program.
4332 .I %pkgdatadir%/mc.menu
4334 This file contains the default system\-wide applications menu.
4336 .I ~/.config/mc/menu
4338 User's own application menu. If this file is present it is used instead
4339 of the system\-wide applications menu.
4341 .I ~/.cache/mc/Tree
4343 The directory list for the directory tree and tree view features.
4345 .I ~/.local/share/mc.menu
4347 Local user\-defined menu. If this file is present, it is used instead of
4348 the home or system\-wide applications menu.
4350 To change default root directory of MC, you can use
4351 .B MC_PROFILE_ROOT
4352 environment variable. The value of MC_PROFILE_ROOT must be an absolute path.
4353 If MC_PROFILE_ROOT is unset or empty, HOME variable is used. If HOME is unset
4354 or empty, MC directories are get from GLib library.
4355 .\"SKIP_SECTION"
4356 .SH "LICENSE"
4357 This program is distributed under the terms of the GNU General Public
4358 License as published by the Free Software Foundation. See the built\-in
4359 help for details on the License and the lack of warranty.
4360 .\"NODE "AVAILABILITY"
4361 .SH "AVAILABILITY"
4362 The latest version of this program can be found at
4363 http://ftp.midnight\-commander.org/.
4364 .\"NODE "SEE ALSO"
4365 .SH "SEE ALSO"
4366 ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1),
4367 tcsh(1), zsh(1).
4370 Midnight Commander's page on the World Wide Web:
4371         https://www.midnight\-commander.org/
4373 .\"NODE "AUTHORS"
4374 .SH "AUTHORS"
4375 Authors and contributors are listed in the AUTHORS file in the source
4376 distribution.
4377 .\"NODE "BUGS"
4378 .SH "BUGS"
4379 See the file TODO in the distribution for information on what remains to
4380 be done.
4382 If you want to report a problem with the program, please create bugreport
4383 at https://www.midnight\-commander.org/.
4385 Provide a detailed description of the bug, the version of the program
4386 you are running
4387 .RI ( "mc \-V"
4388 displays this information), the operating system you are running the
4389 program on.  If the program crashes, we would appreciate a stack trace.