1
1
Midnight Commander's repository (GPL license) https://github.com/MidnightCommander/mc
Перейти к файлу
Egmont Koblinger 930f683019 Handle newline and tab with shift/ctrl modifiers correctly.
MC already has its own half-ready trick: when pasting with Shift-Insert,
using the X11 extension, the newline ("Enter" as mc calls it) with the
Shift modifier pressed gets converted to a "Return", and in the editor
the Return character inserts a non-indenting newline. This makes pasting
better in terminals not supporting bracketed paste, however, it has some
problems that this commit addresses:

  * Shift+newline gets this special treatment, but Ctrl+newline gets
    dropped. Hence e.g. when pasting in Gnome-terminal with Ctrl+Shift+V
    all the newlines will be missing. This commit adds the same
    non-indenting newline behavior to Ctrl+Newline and Ctrl+Shift+Newline.

  * The code forgets about Tab that also needs special treatment:

    - Most terminals send \e[Z on Shift+Tab, this is not handled by MC
      at all, moreover it causes a hang for about a second. This commit
      teaches this sequence to MC. This is especially useful when no X11
      is available, because there Ctrl+Tab is identical to Tab, so the
      backwards tab feature is not available. With this commit Shift+Tab
      becomes a backwards tab too on all terminals that emit \e[Z.

    - When pasting to the editor, Shift+Tab, Ctrl+Tab and Ctrl+Shift+Tab
      should all insert a tab for the same reason mentioned at the newline.

    - It would look inconsistent in the keymap files to have logical code
      such as "backtab" instead of "shift-tab" and friends, hence get rid
      of KEY_BTAB and use KEY_M_SHIFT | '\t' instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-10-03 11:41:58 +04:00
contrib Ticket #2871: remove the empty contrib/dist/debian/ 2012-09-27 17:17:03 +04:00
doc Ticket #3047: fix mc arguments handling. 2013-09-13 18:00:50 +04:00
lib Handle newline and tab with shift/ctrl modifiers correctly. 2013-10-03 11:41:58 +04:00
m4.include Ticket #2995: do not link GModule if it is not required (save space on embedded systems). 2013-08-02 21:53:17 +04:00
maint sync-transifex: fix pathes for calculating MC source root 2013-07-10 12:50:42 +03:00
misc Handle newline and tab with shift/ctrl modifiers correctly. 2013-10-03 11:41:58 +04:00
po Updated italian translation. 2013-08-04 10:17:06 +02:00
src Handle newline and tab with shift/ctrl modifiers correctly. 2013-10-03 11:41:58 +04:00
tests Rename type file_entry to the file_entry_t. 2013-09-19 16:22:30 +04:00
.gitattributes Preventing po/*.po files in git-diff output 2011-09-09 12:01:55 +03:00
.gitignore Added files make.log, make.clang, make.gcc, make.tcc, into .gitignore file 2011-12-01 17:38:56 +04:00
acinclude.m4 --with-edit: rename to --with-internal-edit. 2013-07-02 15:29:35 +03:00
AUTHORS Ticket #2661: support enable bracketed paste of xterm. 2013-10-03 11:41:58 +04:00
autogen.sh Reorder files in maint/ subdirectory. 2013-06-03 10:58:14 +03:00
build-glib2.sh Ticket 1551: Update GPL version from 2 to 3 2011-10-18 14:08:34 +03:00
ChangeLog Ticket #2097: ChangeLog in its current form does not strictly make any sense 2010-05-05 16:24:14 +04:00
configure.ac Ticket #3029: configure.ac: warning about unknown '--with-' / '--enable-' options. 2013-09-05 14:44:51 +04:00
COPYING Moved the main help file (xnc.hlp) and translated help files (es, hu, it, pl, ru and sr directories) to doc/hlp 2009-05-26 17:32:32 +03:00
INSTALL Moved the main help file (xnc.hlp) and translated help files (es, hu, it, pl, ru and sr directories) to doc/hlp 2009-05-26 17:32:32 +03:00
Makefile.am Reorder files in maint/ subdirectory. 2013-06-03 10:58:14 +03:00
NEWS Moved the main help file (xnc.hlp) and translated help files (es, hu, it, pl, ru and sr directories) to doc/hlp 2009-05-26 17:32:32 +03:00
README Moved the main help file (xnc.hlp) and translated help files (es, hu, it, pl, ru and sr directories) to doc/hlp 2009-05-26 17:32:32 +03:00

Contents
--------

Introduction
Dependencies
Features
Mini-documentation
Where to get more information
Reporting problems


Introduction
------------

GNU Midnight Commander (also referred to as MC) is a user shell with
text-mode full-screen interface.  It can be run on the OS console,
in xterm and other terminal emulators.

GNU Midnight Commander allows you to manage files while making most of
you screen and giving you a clear representation of the filesystem, yet
it's simple enough to be run over a telnet or ssh session.

GNU Midnight Commander is released under the GNU General Public
License version 3 or any later version.  A copy of the file is
included with this distribution package.


Dependencies
------------

To compile the GNU Midnight Commander, you need to have a copy of the
glib library version 2.8.x or newer, available at

ftp://ftp.gtk.org/pub/glib/

Please read the file INSTALL for installation instructions
and full list of dependencies.


Features
--------

GNU Midnight Commander was conceived as a free clone of John Socha's
Norton Commander (TM).  It also takes the best from more recent software
with similar interfaces.  GNU Midnight Commander comes with mouse support
on xterm and optionally on the Linux console.

Some features are specific to the POSIX environment MC runs on, some are
familiar to the users of similar software for other operating systems.
The features include:

	* Built in Virtual File System: manipulate remote file systems
          through the FTP and SMB protocols or over secure shell, browse
          contents of tar, ar, rpm, zip, cpio, lha and rar archives just
	  like local files.

	* Almost all operations work with the virtual file system,
	  enabling you to do complex tasks, like viewing files in
	  archives on an FTP server.

	* Mouse support on most terminal emulators for X Window System
	  as well as on the Linux console.

	* Learn Keys: GNU Midnight Commander may be configured at run
	  time to support any kind of input keys for a given terminal,
	  making its operation possible even on most weird terminals.

	* Text and hex editors are available for you to use (hex editor
	  is a part of the viewer).

	* Hotlist allows you to keep a list of common visited locations,
	  including remote sites and directories inside archives.

	* Command completion: By pressing Alt-Tab in any place where a
	  filename or an executable are expected, GNU Midnight Commander
	  will complete the name for you.  If you press Alt-Tab for the
	  second time, you get a list box with all possible completions.

	* Subshell support: Run your commands by a real shell
	  interpreter.  GNU Midnight Commander interacts with bash,
	  tcsh and zsh to provide you with all of the facilities
	  available in your preferred shell.

	* Find file command can search for the file contents.

	* Background operations allow you to copy or move files from
	  any virtual file system while you do other tasks (i.e., you
	  can do background FTP copies).

	* FTP proxy is supported.

	* Linux file recovery: If you are using Linux, you can recover
	  deleted files from an ext2 or ext3 partition with the undelete
	  file system.  This is a low level file recovery function that
	  can recover files deleted by any program on Linux.

	* External panelization: You can run any arbitrary external
	  command and GNU Midnight Commander will display the output
	  generated as a file listing that can be manipulated as a
	  regular directory.

	* Emacs-like key bindings are used in all widgets.

	* Context dependent actions (open, view, edit) are available.

	* The built-in file viewer, together with the context dependent
	  actions is used to format man pages on the fly, coloring mail
	  messages and more.

	* The built-in editor supports syntax highlighting and external
	  actions, such as spell checking and formatting.


Mini-documentation
------------------

These are hints for the text mode edition:

* Use the F-Keys for invoking the commands in the function key bar.
  If your terminal doesn't support F-keys, you can use the <ESC digit>
  sequence to invoke the corresponding F-digit key.

* Tab changes the current panel.

* All input lines have emacs-like key-bindings (command history is
  accessed through the M-p and M-n keys).

* The panels accept C-n, C-p for browsing the panel (like in Emacs).

* M-Enter copies the currently selected file name to the input line.

* M-Tab completes the current word (or tries to).

* The Virtual File System is a cute addition to the project, you may
  browse in tar and compressed tar files as well as browsing remote
  machines with the fish file system.

* Please read the manual page.

You can access the whole documentation online with the F1 key,
although it's not as nice as the groff printed manual page :-)


Where to get more information
-----------------------------

There is a webpage for GNU Midnight Commander at

http://www.midnight-commander.org/

This page also has current information about mailing lists and some
useful advices how to report bugs.

You can download the latest version of GNU Midnight Commander from

http://www.midnight-commander.org/downloads/


Reporting problems
------------------

You can report bug on our site, please read 

http://midnight-commander.org/wiki/defectReports

Also you can use mc mailing lists to discuss problems.

There are two mailing lists, mc@gnome.org and mc-devel@gnome.org.  Use
mc-devel@gnome.org if you are prepared for a more technical discussion
with the developers of the package, otherwise use mc@gnome.org.

Please don't sent HTML e-mail to either of those mailing lists.

Include the output of "mc --version", the operating system and the
distribution (if applicable) you are using, the compiler and the
configure flags used to compile the program (if you know them).

If the program crashed and produced a core dump, please provide a
stack trace of the program.

You can do this by running gdb like this:

gdb mc core
(gdb) where