Provided by: mg_20230501-1_amd64 bug

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  command  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-j       dired-jump
             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-z           zap-to-char
             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.

       dired-jump
              Open a dired buffer containing the current buffer's directory location.

       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,
              respecting no-tab-mode and the buffer tab width.

       next-line
              Move forward n lines.

       no-tab-mode
              Toggle notab mode.  In this mode, spaces are inserted rather than tabs.

       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 or by invoking this command with a prefix argument.

       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-regexp
              Replace regular expression globally without individual prompting.

       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.

       set-tab-width
              Set the tab width for the current buffer, or the default for new buffers if called with  a  prefix
              argument or from the startup file.

       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
              Load 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.

       zap-to-char
              Ask for a character and delete text from the current cursor position until the  next  instance  of
              that character, including it.

       zap-up-to-char
              Like zap-to-char but doesn't delete the target character.

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-shell-command
               Pipe the file under the current cursor position through a shell command.

       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.

Debian                                           April 28, 2023                                            MG(1)