mg

MG(1)                        General Commands Manual                       MG(1)

NAME
     mg – emacs-like text editor

SYNOPSIS
     mg [-nR] [-b file] [-f mode] [-u file] [+number] [file ...]

DESCRIPTION
     mg is intended to be a small, fast, and portable editor for people who
     can't (or don't want to) run emacs for one reason or another, or are not
     familiar with the vi(1) editor.  It is compatible with emacs because there
     shouldn't be any reason to learn more editor types than emacs or vi(1).

     The options are as follows:

     +number
             Go to the line specified by number (do not insert a space between
             the ‘+’ sign and the number).  If a negative number is specified,
             the line number counts backwards from the end of the file i.e. +-1
             will be the last line of the file, +-2 will be second last, and so
             on.

     -b file
             Turn on batch mode and execute the mg commands found in the
             specified file and then terminate.

     -f mode
             Run the mode command for all buffers created from arguments on the
             command line, including the scratch buffer and all files.

     -n      Turn off backup file generation.

     -R      Files specified on the command line will be opened read-only.

     -u file
             Use file as the startup file, instead of the default ~/.mg.

WINDOWS AND BUFFERS
     When a file is loaded into mg, it is stored in a buffer.  This buffer may
     be displayed on the screen in more than one window.  At present, windows
     may only be split horizontally, so each window is delineated by a modeline
     at the bottom.  If changes are made to a buffer, it will be reflected in
     all open windows.

     If a file is changed outside mg and its buffer is about to be changed, mg
     prompts if the change should go ahead (y), not go ahead (n) or if the
     buffer should be reverted (r) to the latest file on disk.

     If a buffer name begins and ends with an asterisk, the buffer is considered
     throwaway; i.e. the user will not be prompted to save changes when the
     buffer is killed.

POINT AND MARK
     The current cursor location in mg is called the point (or dot).  It is
     possible to define a window-specific region of text by setting a second
     location, called the mark.  The region is the text between point and mark
     inclusive.  Deleting the character at the mark position leaves the mark at
     the point of deletion.

     Note: The point and mark are window-specific in mg, not buffer-specific, as
     in other emacs flavours.

BACKUP FILES
     Backup files have a ‘~’ character appended to the file name and are created
     in the current working directory by default.  Whether to create backup
     files or not can be toggled with the make-backup-files command.  The backup
     file location can either be in the current working directory, or all
     backups can be moved to a ~/.mg.d directory where files retain their path
     name to retain uniqueness.  Use the backup-to-home-directory to alternate
     between these two locations.  Further, if any application creates backup
     files in /tmp, these can be left with the leave-tmpdir-backups command.

TAGS
     mg supports tag files created by ctags(1), allowing the user to quickly
     locate various object definitions.  Note though that emacs uses etags, not
     ctags.

CSCOPE
     mg supports navigating source code using cscope.  However, mg requires
     cscope and cscope-indexer executables to be present in PATH for it to work.

DEFAULT KEY BINDINGS
     Normal editing commands are very similar to GNU Emacs.  In the following
     examples, C-x means Control-x, and M-x means Meta-x, where the Meta key may
     be either a special key on the keyboard or the ALT key; otherwise ESC
     followed by the key X works as well.

           C-SPC         set-mark-command
           C-a           beginning-of-line
           C-b           backward-char
           C-c s c       cscope-find-functions-calling-this-function
           C-c s d       cscope-find-global-definition
           C-c s e       cscope-find-egrep-pattern
           C-c s f       cscope-find-this-file
           C-c s i       cscope-find-files-including-file
           C-c s n       cscope-next-symbol
           C-c s p       cscope-prev-symbol
           C-c s s       cscope-find-this-symbol
           C-c s t       cscope-find-this-text-string
           C-d           delete-char
           C-e           end-of-line
           C-f           forward-char
           C-g           keyboard-quit
           C-h C-h       help-help
           C-h a         apropos
           C-h b         describe-bindings
           C-h c         describe-key-briefly
           C-j           newline-and-indent
           C-k           kill-line
           C-l           recenter
           RET           newline
           C-n           next-line
           C-o           open-line
           C-p           previous-line
           C-q           quoted-insert
           C-r           isearch-backward
           C-s           isearch-forward
           C-t           transpose-chars
           C-u           universal-argument
           C-v           scroll-up
           C-w           kill-region
           C-x C-b       list-buffers
           C-x C-c       save-buffers-kill-emacs
           C-x C-f       find-file
           C-x C-g       keyboard-quit
           C-x C-l       downcase-region
           C-x C-o       delete-blank-lines
           C-x C-q       toggle-read-only
           C-x C-r       find-file-read-only
           C-x C-s       save-buffer
           C-x C-u       upcase-region
           C-x C-v       find-alternate-file
           C-x C-w       write-file
           C-x C-x       exchange-point-and-mark
           C-x (         start-kbd-macro
           C-x )         end-kbd-macro
           C-x 0         delete-window
           C-x 1         delete-other-windows
           C-x 2         split-window-vertically
           C-x 4 C-f     find-file-other-window
           C-x 4 C-g     keyboard-quit
           C-x 4 b       switch-to-buffer-other-window
           C-x 4 f       find-file-other-window
           C-x =         what-cursor-position
           C-x ^         enlarge-window
           C-x `         next-error
           C-x b         switch-to-buffer
           C-x d         dired
           C-x e         call-last-kbd-macro
           C-x f         set-fill-column
           C-x g         goto-line
           C-x h         mark-whole-buffer
           C-x i         insert-file
           C-x k         kill-buffer
           C-x n         other-window
           C-x o         other-window
           C-x p         previous-window
           C-x s         save-some-buffers
           C-x u         undo
           C-y           yank
           C-z           suspend-emacs
           M-C-v         scroll-other-window
           M-SPC         just-one-space
           M-!           shell-command
           M-.           find-tag
           M-*           pop-tag-mark
           M-%           query-replace
           M-<           beginning-of-buffer
           M->           end-of-buffer
           M-\           delete-horizontal-space
           M-^           join-line
           M-b           backward-word
           M-c           capitalize-word
           M-d           kill-word
           M-f           forward-word
           M-h           mark-paragraph
           M-l           downcase-word
           M-m           back-to-indentation
           M-q           fill-paragraph
           M-r           search-backward
           M-s           search-forward
           M-t           transpose-words
           M-u           upcase-word
           M-v           scroll-down
           M-w           copy-region-as-kill
           M-x           execute-extended-command
           M-{           backward-paragraph
           M-|           shell-command-on-region
           M-}           forward-paragraph
           M-~           not-modified
           M-DEL         backward-kill-word
           C-_           undo
           )             blink-and-insert
           DEL           delete-backward-char

     For a complete description of mg commands, see MG COMMANDS.  To see the
     active keybindings at any time, type “M-x describe-bindings”.

MG COMMANDS
     Commands are invoked by “M-x”, or by binding to a key.  Many commands take
     an optional numerical parameter, n.  This parameter is set either by M-<n>
     (where n is the numerical argument) before the command, or by one or more
     invocations of the universal argument, usually bound to C-u.  When invoked
     in this manner, the value of the numeric parameter to be passed is
     displayed in the minibuffer before the M-x.  One common use of the
     parameter is in mode toggles (e.g. make-backup-files).  If no parameter is
     supplied, the mode is toggled to its alternate state.  If a positive
     parameter is supplied, the mode is forced to on.  Otherwise, it is forced
     to off.

     apropos
            Help Apropos.  Prompt the user for a string, open the *help* buffer,
            and list all mg commands that contain that string.

     audible-bell
            Toggle the audible system bell.

     auto-execute
            Register an auto-execute hook; that is, specify a filename pattern
            (conforming to the shell's filename globbing rules) and an
            associated function to execute when a file matching the specified
            pattern is read into a buffer.

     auto-fill-mode
            Toggle auto-fill mode (sometimes called mail-mode) in the current
            buffer, where text inserted past the fill column is automatically
            wrapped to a new line.  Can be set globally with set-default-mode.

     auto-indent-mode
            Toggle indent mode in the current buffer, where indentation is
            preserved after a newline.  Can be set globally with set-default-
            mode.

     back-to-indentation
            Move the dot to the first non-whitespace character on the current
            line.

     backup-to-home-directory
            Save backup copies to a ~/.mg.d directory instead of working
            directory.  Requires make-backup-files to be on.

     backward-char
            Move cursor backwards one character.

     backward-kill-word
            Kill text backwards by n words.

     backward-paragraph
            Move cursor backwards n paragraphs.  Paragraphs are delimited by
            <NL><NL> or <NL><TAB> or <NL><SPACE>.

     backward-word
            Move cursor backwards by the specified number of words.

     beginning-of-buffer
            Move cursor to the top of the buffer.  If set, keep mark's position,
            otherwise set at current position.  A numeric argument n will move
            n/10th of the way from the top.

     beginning-of-line
            Move cursor to the beginning of the line.

     blink-and-insert
            Self-insert a character, then search backwards and blink its
            matching delimiter.  For delimiters other than parenthesis,
            brackets, and braces, the character itself is used as its own match.
            Can be used in the startup file with the global-set-key command.

     bsmap-mode
            Toggle bsmap mode, where DEL and C-h are swapped.

     c-mode
            Toggle a KNF-compliant mode for editing C program files.

     call-last-kbd-macro
            Invoke the keyboard macro.

     capitalize-word
            Capitalize n words; i.e. convert the first character of the word to
            upper case, and subsequent letters to lower case.

     cd     Change the global working directory.  See also global-wd-mode.

     column-number-mode
            Toggle whether the column number is displayed in the modeline.

     copy-region-as-kill
            Copy all of the characters in the region to the kill buffer,
            clearing the mark afterwards.  This is a bit like a kill-region
            followed by a yank.

     count-matches
            Count the number of lines matching the supplied regular expression.

     count-non-matches
            Count the number of lines not matching the supplied regular
            expression.

     cscope-find-this-symbol
            List the matches for the given symbol.

     cscope-find-global-definition
            List global definitions for the given literal.

     cscope-find-called-functions
            List functions called from the given function.

     cscope-find-functions-calling-this-function
            List functions calling the given function.

     cscope-find-this-text-string
            List locations matching the given text string.

     cscope-find-egrep-pattern
            List locations matching the given extended regular expression
            pattern.

     cscope-find-this-file
            List filenames matching the given filename.

     cscope-find-files-including-file
            List files that #include the given filename.

     cscope-next-symbol
            Navigate to the next match.

     cscope-prev-symbol
            Navigate to the previous match.

     cscope-next-file
            Navigate to the next file.

     cscope-prev-file
            Navigate to the previous file.

     cscope-create-list-of-files-to-index
            Create cscope's List and Index in the given directory.

     define-key
            Prompts the user for a named keymap (mode), a key, and an mg
            command, then creates a keybinding in the appropriate map.

     delete-backward-char
            Delete backwards n characters.  Like delete-char, this actually does
            a kill if presented with an argument.

     delete-blank-lines
            Delete blank lines around dot.  If dot is sitting on a blank line,
            this command deletes all the blank lines above and below the current
            line.  Otherwise, it deletes all of the blank lines after the
            current line.

     delete-char
            Delete n characters forward.  If any argument is present, it kills
            rather than deletes, saving the result in the kill buffer.

     delete-horizontal-space
            Delete any whitespace around the dot.

     delete-leading-space
            Delete leading whitespace on the current line.

     delete-trailing-space
            Delete trailing whitespace on the current line.

     delete-matching-lines
            Delete all lines after dot that contain a string matching the
            supplied regular expression.

     delete-non-matching-lines
            Delete all lines after dot that don't contain a string matching the
            supplied regular expression.

     delete-other-windows
            Make the current window the only window visible on the screen.

     delete-window
            Delete current window.

     describe-bindings
            List all global and local keybindings, putting the result in the
            *help* buffer.

     describe-key-briefly
            Read a key from the keyboard, and look it up in the keymap.  Display
            the name of the function currently bound to the key.

     diff-buffer-with-file
            View the differences between buffer and its associated file.

     digit-argument
            Process a numerical argument for keyboard-invoked functions.

     downcase-region
            Set all characters in the region to lower case.

     downcase-word
            Set characters to lower case, starting at the dot, and ending n
            words away.

     emacs-version
            Return an mg version string.

     end-kbd-macro
            Stop defining a keyboard macro.

     end-of-buffer
            Move cursor to the end of the buffer.  If set, keep mark's position,
            otherwise set at current position.  A numeric argument n will move
            n/10th of the way from the end.

     end-of-line
            Move cursor to the end of the line.

     enlarge-window
            Enlarge the current window by shrinking either the window above or
            below it.

     eval-current-buffer
            Evaluate the current buffer as a series of mg commands.  Useful for
            testing mg startup files.

     eval-expression
            Get one line from the user, and run it.  Useful for testing
            expressions in mg startup files.

     exchange-point-and-mark
            Swap the values of "dot" and "mark" in the current window.  Return
            an error if no mark is set.

     execute-extended-command
            Invoke an extended command; i.e. M-x.  Call the message line routine
            to read in the command name and apply autocompletion to it.  When it
            comes back, look the name up in the symbol table and run the command
            if it is found, passing arguments as necessary.  Print an error if
            there is anything wrong.

     fill-paragraph
            Justify a paragraph, wrapping text at the current fill column.

     find-file
            Select a file for editing.  First check if the file can be found in
            another buffer; if it is there, just switch to that buffer.  If the
            file cannot be found, create a new buffer, read in the file from
            disk, and switch to the new buffer.

     find-file-read-only
            Same as find-file, except the new buffer is set to read-only.

     find-alternate-file
            Replace the current file with an alternate one.  Semantics for
            finding the replacement file are the same as find-file, except the
            current buffer is killed before the switch.  If the kill fails, or
            is aborted, revert to the original file.

     find-file-other-window
            Opens the specified file in a second buffer.  Splits the current
            window if necessary.

     find-tag
            Jump to definition of tag at dot.

     forward-char
            Move cursor forwards (or backwards, if n is negative) n characters.
            Returns an error if the end of buffer is reached.

     forward-paragraph
            Move forward n paragraphs.  Paragraphs are delimited by <NL><NL> or
            <NL><TAB> or <NL><SPACE>.

     forward-word
            Move the cursor forward by the specified number of words.

     global-set-key
            Bind a key in the global (fundamental) key map.

     global-unset-key
            Unbind a key from the global (fundamental) key map; i.e. set it to
            'rescan'.

     global-wd-mode
            Toggle global working-directory mode.  When enabled, mg defaults to
            opening files (and executing commands like compile and grep)
            relative to the global working directory.  When disabled, a working
            directory is set for each buffer.

     goto-line
            Go to a specific line.  If an argument is present, then it is the
            line number, else prompt for a line number to use.

     help-help
            Prompts for one of (a)propos, (b)indings, des(c)ribe key briefly.

     insert
            Insert a string, mainly for use from macros.

     insert-buffer
            Insert the contents of another buffer at dot.

     insert-file
            Insert a file into the current buffer at dot.

     insert-with-wrap
            Insert the bound character with word wrap.  Check to see if we're
            past the fill column, and if so, justify this line.

     isearch-backward
            Use incremental searching, initially in the reverse direction.
            isearch ignores any explicit arguments.  If invoked during macro
            definition or evaluation, the non-incremental search-backward is
            invoked instead.

     isearch-forward
            Use incremental searching, initially in the forward direction.
            isearch ignores any explicit arguments.  If invoked during macro
            definition or evaluation, the non-incremental search-forward is
            invoked instead.

     join-line
            Join the current line to the previous.  If called with an argument,
            join the next line to the current one.

     just-one-space
            Delete any whitespace around dot, then insert a space.

     keyboard-quit
            Abort the current action.

     kill-buffer
            Dispose of a buffer, by name.  If the buffer name does not start and
            end with an asterisk, prompt the user if the buffer has been
            changed.

     kill-line
            Kill line.  If called without an argument, it kills from dot to the
            end of the line, unless it is at the end of the line, when it kills
            the newline.  If called with an argument of 0, it kills from the
            start of the line to dot.  If called with a positive argument, it
            kills from dot forward over that number of newlines.  If called with
            a negative argument it kills any text before dot on the current
            line, then it kills back abs(n) lines.

     kill-paragraph
            Delete n paragraphs starting with the current one.

     kill-region
            Kill the currently defined region.

     kill-word
            Delete forward n words.

     leave-tmpdir-backups
            Modifies the behaviour of backup-to-home-directory.  Backup files
            that would normally reside in /tmp are left there and not moved to
            the ~/.mg.d directory.

     line-number-mode
            Toggle whether the line number is displayed in the modeline.

     list-buffers
            Display the list of available buffers.  The first column in the
            output indicates which buffer is active with a '>' character.  The
            second column indicates which buffers are modified.  The third
            column indicates which buffers are read-only.  The remaining columns
            are self-explanatory.

     load   Prompt the user for a filename, and then execute commands from that
            file.

     local-set-key
            Bind a key mapping in the local (topmost) mode.

     local-unset-key
            Unbind a key mapping in the local (topmost) mode.

     make-backup-files
            Toggle generation of backup files.  Enabled by default.

     make-directory
            Prompt the user for a path or directory name which is then created.

     mark-paragraph
            Mark n paragraphs.

     mark-whole-buffer
            Marks whole buffer as a region by putting dot at the beginning and
            mark at the end of buffer.

     meta-key-mode
            When disabled, the meta key can be used to insert extended-ascii
            (8-bit) characters.  When enabled, the meta key acts as usual.

     negative-argument
            Process a negative argument for keyboard-invoked functions.

     newline
            Insert a newline into the current buffer.

     newline-and-indent
            Insert a newline, then enough tabs and spaces to duplicate the
            indentation of the previous line.  Assumes tabs are every eight
            characters.

     next-line
            Move forward n lines.

     not-modified
            Turn off the modified flag in the current buffer.

     open-line
            Open up some blank space.  Essentially, insert n newlines, then back
            up over them.

     other-window
            The command to make the next (down the screen) window the current
            window.  There are no real errors, although the command does nothing
            if there is only 1 window on the screen.

     overwrite-mode
            Toggle overwrite mode in the current buffer, where typing overwrites
            existing characters rather than inserting them.  Can be set globally
            with set-default-mode.

     prefix-region
            Inserts a prefix string before each line of a region.  The prefix
            string is settable by using 'set-prefix-string'.

     previous-line
            Move backwards n lines.

     previous-window
            This command makes the previous (up the screen) window the current
            window.  There are no errors, although the command does not do a lot
            if there is only 1 window.

     pop-tag-mark
            Return to position where find-tag was previously invoked.

     push-shell
            Suspend mg and switch to alternate screen, if available.

     pwd    Display current (global) working directory in the status area.

     query-replace
            Query Replace.  Search and replace strings selectively, prompting
            after each match.

     replace-string
            Replace string globally without individual prompting.

     query-replace-regexp
            Replace strings selectively.  Does a search and replace operation
            using regular expressions for both patterns.

     quoted-insert
            Insert the next character verbatim into the current buffer; i.e.
            ignore any function bound to that key.

     re-search-again
            Perform a regular expression search again, using the same search
            string and direction as the last search command.

     re-search-backward
            Search backwards using a regular expression.  Get a search string
            from the user, and search, starting at dot and proceeding toward the
            front of the buffer.  If found, dot is left pointing at the first
            character of the pattern [the last character that was matched].

     re-search-forward
            Search forward using a regular expression.  Get a search string from
            the user and search for it starting at dot.  If found, move dot to
            just after the matched characters.  display does all the hard stuff.
            If not found, it just prints a message.

     recenter
            Reposition dot in the current window.  By default, the dot is
            centered.  If given a positive argument (n), the display is
            repositioned to line n.  If n is negative, it is that line from the
            bottom.

     redraw-display
            Refresh the display.  Recomputes all window sizes in case something
            has changed.

     revert-buffer
            Revert the current buffer to the latest file on disk.

     save-buffer
            Save the contents of the current buffer if it has been changed,
            optionally creating a backup copy.

     save-buffers-kill-emacs
            Offer to save modified buffers and quit mg.

     save-some-buffers
            Look through the list of buffers, offering to save any buffer that
            has been changed.  Buffers that are not associated with files (such
            as *scratch*, *grep*, *compile*) are ignored.

     scroll-down
            Scroll backwards n pages.  A two-line overlap between pages is
            assumed.  If given a repeat argument, scrolls back lines, not pages.

     scroll-one-line-down
            Scroll the display down n lines without changing the cursor
            position.

     scroll-one-line-up
            Scroll the display n lines up without moving the cursor position.

     scroll-other-window
            Scroll the next window in the window list window forward n pages.

     scroll-up
            Scroll forward one page.  A two-line overlap between pages is
            assumed.  If given a repeat argument, scrolls back lines, not pages.

     search-again
            Search again, using the same search string and direction as the last
            search command.

     search-backward
            Reverse search.  Get a search string from the user, and search,
            starting at dot and proceeding toward the front of the buffer.  If
            found, dot is left pointing at the first character of the pattern
            (the last character that was matched).

     search-forward
            Search forward.  Get a search string from the user, and search for
            it starting at dot.  If found, dot gets moved to just after the
            matched characters, if not found, print a message.

     self-insert-command
            Insert a character.

     sentence-end-double-space
            Toggle double or single spaces for end of sentences.  Double is the
            default.  Currently only affects fill-paragraph.

     set-case-fold-search
            Set case-fold searching, causing case not to matter in regular
            expression searches.  This is the default.

     set-case-replace
            Preserve the case of the replaced string.  This is the default.

     set-default-mode
            Append the supplied mode to the list of default modes used by
            subsequent buffer creation.  Built in modes include: fill, indent
            and overwrite.

     set-fill-column
            Prompt the user for a fill column.  Used by auto-fill-mode.

     set-mark-command
            Sets the mark in the current window to the current dot location.

     set-prefix-string
            Sets the prefix string to be used by the 'prefix-region' command.

     shell-command
            Execute external command from mini-buffer.

     shell-command-on-region
            Provide the text in region to the shell command as input.

     shrink-window
            Shrink current window by one line.  The window immediately below is
            expanded to pick up the slack.  If only one window is present, this
            command has no effect.

     split-window-vertically
            Split the current window.  A window smaller than 3 lines cannot be
            split.

     start-kbd-macro
            Start defining a keyboard macro.  Macro definition is ended by
            invoking end-kbd-macro.

     suspend-emacs
            Suspend mg and switch back to alternate screen, if in use.

     switch-to-buffer
            Prompt and switch to a new buffer in the current window.

     switch-to-buffer-other-window
            Switch to buffer in another window.

     toggle-read-only
            Toggle the read-only flag on the current buffer.

     toggle-read-only-all
            Toggle the read-only flag on all non-ephemeral buffers.  A simple
            toggle that switches a global read-only flag either on or off.

     transpose-chars
            Transpose the two characters in front of and under dot, then move
            forward one character.  Treat newline characters the same as any
            other.

     transpose-paragraphs
            Transpose adjacent paragraphs.  If multiple iterations are
            requested, the current paragraph will be moved n paragraphs forward.

     transpose-words
            Transpose adjacent words.

     undo   Undo the most recent action.  If invoked again without an
            intervening command, move the undo pointer to the previous action
            and undo it.

     undo-boundary
            Add an undo boundary.  This is not usually done interactively.

     undo-boundary-toggle
            Toggle whether undo boundaries are generated.  Undo boundaries are
            often disabled before operations that should be considered
            atomically undoable.

     undo-enable
            Toggle whether undo information is kept.

     undo-list
            Show the undo records for the current buffer in a new buffer.

     universal-argument
            Repeat the next command 4 times.  Usually bound to C-u.  This
            command may be stacked; e.g. C-u C-u C-f moves the cursor forward 16
            characters.

     upcase-region
            Upper case region.  Change all of the lower case characters in the
            region to upper case.

     upcase-word
            Move the cursor forward by the specified number of words.  As it
            moves, convert any characters to upper case.

     visible-bell
            Toggle the visible bell.  If this toggle is on, the modeline will
            flash.

     visit-tags-table
            Record name of the tags file to be used for subsequent find-tag.

     what-cursor-position
            Display a bunch of useful information about the current location of
            dot.  The character under the cursor (in octal), the current line,
            row, and column, and approximate position of the cursor in the file
            (as a percentage) is displayed.  The column position assumes an
            infinite position display; it does not truncate just because the
            screen does.

     write-file
            Ask for a file name and write the contents of the current buffer to
            that file.  Update the remembered file name and clear the buffer
            changed flag.

     yank   Yank text from kill-buffer.  Unlike emacs, the mg kill buffer
            consists only of the most recent kill.  It is not a ring.

MG DIRED KEY BINDINGS
     Specific key bindings are available in dired mode.

           DEL                 dired-unmark-backward
           RET, e, f and C-m   dired-find-file
           SPC, n              dired-next-line
           !                   dired-shell-command
           +                   dired-create-directory
           a                   dired-find-alternate-file
           c                   dired-do-copy
           d and C-d           dired-flag-file-deletion
           g                   dired-revert
           j                   dired-goto-file
           o                   dired-find-file-other-window
           p                   dired-previous-line
           q                   quit-window
           r                   dired-do-rename
           u                   dired-unmark
           x                   dired-do-flagged-delete
           C-v                 dired-scroll-down
           M-v                 dired-scroll-up

MG DIRED COMMANDS
     The following are a list of the commands specific to dired mode:

     dired-create-directory
             Create a directory.

     dired-do-copy
             Copy the file listed on the current line of the dired buffer.

     dired-do-flagged-delete
             Delete the files that have been flagged for deletion.

     dired-do-rename
             Rename the file listed on the current line of the dired buffer.

     dired-find-alternate-file
             Replace the current dired buffer with an alternate one as specified
             by the position of the cursor in the dired buffer.

     dired-find-file
             Open the file on the current line of the dired buffer.  If the
             cursor is on a directory it will be opened in dired mode.

     dired-flag-file-deletion
             Flag the file listed on the current line for deletion.  This is
             indicated in the buffer by putting a D at the left margin.  No
             files are actually deleted until the function dired-do-flagged-
             delete is executed.

     dired-find-file-other-window
             Open the file on the current line of the dired buffer in a
             different window.

     dired-goto-file
             Move the cursor to a file name in the dired buffer.

     dired-next-line
             Move the cursor to the next line.

     dired-other-window
             This function works just like dired, except that it puts the dired
             buffer in another window.

     dired-previous-line
             Move the cursor to the previous line.

     dired-revert
             Refresh the dired buffer while retaining any flags.

     dired-scroll-down
             Scroll down the dired buffer.

     dired-scroll-up
             Scroll up the dired buffer.

     dired-unmark
             Remove the deletion flag for the file on the current line.

     dired-unmark-backward
             Remove the deletion flag from the file listed on the previous line
             of the dired buffer, then move up to that line.

     quit-window
             Close the current dired buffer.

CONFIGURATION FILES
     There are two configuration files, .mg and .mg-TERM.  Here, TERM represents
     the name of the terminal type; e.g. if the terminal type is set to “vt100”,
     mg will use .mg-vt100 as a startup file.  The terminal type startup file is
     used first.

     The startup file format is a list of commands, one per line, as used for
     interactive evaluation.  Strings that are normally entered by the user at
     any subsequent prompts may be specified after the command name; e.g.:

           global-set-key ")" self-insert-command
           global-set-key "\^x\^f" find-file
           global-set-key "\e[Z" backward-char
           set-default-mode fill
           set-fill-column 72
           auto-execute *.c c-mode

     Comments can be added to the startup files by placing ‘;’ or ‘#’ as the
     first character of a line.

FILES
     ~/.mg                       normal startup file
     ~/.mg-TERM                  terminal-specific startup file
     ~/.mg.d                     alternative backup file location
     /usr/share/doc/mg/tutorial  concise tutorial

SEE ALSO
     ctags(1), vi(1)

CAVEATS
     Since it is written completely in C, there is currently no language in
     which extensions can be written; however, keys can be rebound and certain
     parameters can be changed in startup files.

     In order to use 8-bit characters (such as German umlauts), the Meta key
     needs to be disabled via the “meta-key-mode” command.

     Multi-byte character sets, such as UTF-8, are not supported.

macOS 12.1                       March 26, 2021                       macOS 12.1