dkns man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

dkns(1)			  BSD General Commands Manual		       dkns(1)

NAME
     dkns — Text editor

SYNOPSIS
     dkns [⟨line-number⟩] ⟨filename⟩

DESCRIPTION
     Dickens is an old-school, black-and-white, one-buffer-in-one-window con‐
     sole programmer's editor (because that's how we roll).  Pretty visual
     gewgaws are cognitive noise, my sons and daughters.  The plainer the edi‐
     tor, the deeper the flow.	What you want is keystroke-efficiency.	Dick‐
     ens is written in a custom dialect of lisp called Munger, so the editor
     is programmable, but Dickens is not Emacs.

     All editors suck to some degree, this one included.

     In the command summaries which follow, lone letters preceded by C- indi‐
     cate a key chord, where the specified key is to be pressed at the same
     time as the control key.  Lone letters preceded by M- indicate a key
     chord where the specified key is to be pressed at the same time as the
     alt/meta key, or you may precede the specified key by a separate pressing
     of the ESC key.

     Note that chords made with the control key always consist of a lower case
     character and the control key, but that chords made with the meta key may
     consist of either the upper or lower case version of a character and the
     meta key.	For example, M-c and M-C are two distinct commands.

     Keys or key chords preceded by C-x, indicate this chord is to be pressed
     first separately, followed by the succeeding keys or key chords.  Such
     compound commands are called extended commands.  While waiting for the
     subsequent parts of an extended command, the editor will display "C-x ?"
     in the status line.  To cancel a pending extended command the user may
     press C-u.

   Exiting
     C-x C-c  exits the editor.	 This command will prompt the user for confir‐
	      mation if unsaved changes exist in the buffer.

     C-x 9    Will write the contents of the buffer to disk, if unsaved
	      changes exist, and exit the editor.

   Command-Line Arguments
     Command line arguments can be used to specify a file to load into the
     buffer upon start-up.  If the first character of the first argument is a
     plus-sign (+), then the remaining characters of that argument are consid‐
     ered to specify a line number to move the cursor to upon loading the file
     specified by the second argument.	If the remainder of the first argument
     is not a positive integer, it is ignored, but the file specified by the
     second argument is still loaded.  If the first argument does not begin
     with a plus-sign, then it is assumed to be a filename to load into the
     buffer upon start-up, and the cursor is moved to the first character of
     the first line of the file.  To load a file whose name begins with a
     plus-sign, the user may either pass a do-nothing line number argument or
     qualify the filename:

     % dkns +1 +funnyfile

     % dkns ./+funnyfile

     Any other command-line arguments are assumed to be filenames, and are
     pushed onto the file stack, where they may be subsequently accessed with
     the commands which operate upon that entity.  See the section of this
     document, titled "Working With Files" for more information on using the
     file stack.

   Configuration Options
     The editor has five user-modifiable configuration settings:

     line_length  This option is a positive integer specifying the desired
		  maximum length of manually-created lines.  This limit is
		  used by the auto-wrapper and by the paragraph formatter.

     tab_stop	  This option is a positive integer specifying the frequency
		  of tabstops.	Tabstops are considered to occur every
		  tab_stop characters, ad infinitum in the line.

     auto_indent  This option is a boolean which specifies whether or not
		  leading whitespace from the preceding line should be propa‐
		  gated to a new line, when the user manually terminates a
		  line.

     auto_wrap	  This option is a boolean which specifies whether or not
		  lines should be automatically wrapped when manual input
		  causes a line to exceed the value of line_length.

     show_match	  This option is a boolean which specifies whether or not the
		  location of opening delimiters will be indicated visually
		  when a closing delimiter is input.  If turned on, when the
		  user inputs a ")", "}", or "]" character, the editor will
		  search backward in the buffer, for the corresponding opening
		  delimiter, and if found, move the cursor there for two-
		  tenths of a second and then return it to its previous loca‐
		  tion.	 If the opening delimiter cannot be found, the termi‐
		  nal bell is sounded.	In no case will the editor search fur‐
		  ther than the line which the cursor would be moved to, if an
		  "C-x [" command were invoked from the original cursor posi‐
		  tion.

     The user's startup configuration file, if it exists, must be named .dkns
     and be located in the user's home directory.  The following example shows
     code to modify the user-modifiable settings.

     ; These values must be set via a function call.

     (set_line_length 75)
     (set_tab_stop 3)

     ; The boolean flags may be set directly.

     (setq auto_indent 1)
     (setq auto_wrap 1)
     (setq show_match 1)

     The following commands may be used to inspect or change the user-modifi‐
     able settings from within the editor.

     C-x @  displays the values of the user settings.

     C-x N  prompts the user for a new value for the line_length variable.

     C-x B  prompts the user for a new value for the tab_stop variable.

     C-x I  toggles the value of the auto_indent variable.

     C-x U  toggles the value of the auto_wrap variable.

     C-x M  toggles the value of the show_match variable.

   Command Prompts
     Some commands require textual or numerical input from the user.  The edi‐
     tor will prompt for this input on the last line of the screen, called the
     status line.  At any command prompt, three editing commands are avail‐
     able, and possibly interactive filename completion and a browsable his‐
     tory for the command.

     C-h  backspaces over the last character of input, if any.

     C-w  backspaces over the last complete word on the command line, if any.

     C-u  backspaces over the entire command line.

     C-p  causes the text input so far to be replaced with the most recent
	  item in the command's saved history.	Successive invocations of this
	  command, continue to advance backward through the command history.

     C-n  If the C-p command has been invoked, this command will cause the
	  current text on the command line to be replaced with the next item
	  in the command history.  Successive invocations of this command con‐
	  tinue to advance forward through the command history, until the
	  original input text, if any, is reached.

     C-a  Insert a tab character into the input text.

     [tab]
	  invokes interactive filename completion, functioning similarly to
	  that of bash or csh.	Not every command which receives input at a
	  command prompt enables filename completion.  Those which do cannot
	  accept a literal tab character as input.  To input a tab use C-a.
	  To input any other character bound to editing commands, type C-v
	  followed by the desired character.

     C-c  cancels the input operation, and the command which initiated it.

   Repeating Commands
     M-o    causes the user to be prompted for a repeat count on the status
	    line.  The very next command invoked will be repeated the speci‐
	    fied number of times, if that command supports a repeat count.
	    Those commands for which a repeat count does not make sense,
	    ignore the repeat count.

     C-x g  repeats the most recently invoked command.	This command respects
	    the repeat count given to the original command, but will ignore
	    any repeat count given to itself.

     C-x [space]
	    starts recording keystrokes for subsequent playback.  If the
	    recording operation has already been started, then this command
	    turns it off.

     M-[space]
	    plays the last group of previously recorded keystrokes.  The edi‐
	    tor responds to those keystrokes just as if those keys were
	    pressed by the user, allowing the user to repeat multiple commands
	    at once.  If this command is given a repeat count, if will be
	    respected.	If C-g is invoked after invoking this command, the
	    last command in the set of recorded keystrokes will be invoked,
	    and not the playback operation.

   The Region
     An abitrary region of text may be delineated for certain operations.  The
     region consists of the text lying between the cursor location and the
     mark.  The cursor position and the mark are both considered to be between
     the character they are over and the previous character in the buffer.
     Therefore, at the region endpoint occurring first in the buffer, the
     character under the endpoint will be included in the region, but at the
     region endpoint occurring second in the buffer, the character under the
     endpoint is outside the region.

     C-[space]	sets the mark before the character location the cursor is
		over.  The cursor is then moved by the user to the other end‐
		point to form the region.

     C-x C-e	exchanges the cursor position and the mark.

   Working With Files
     Filename completion is triggered by entering a tab at the filename
     prompt.  Tab characters themselves can be entered at the prompt by invok‐
     ing C-a.  To input any character bound to a line-editing command, type C-
     v followed by the desired character.  If the last line of a file is not
     terminated with a newline, the editor will add a newline to the end of
     that line.

     C-x C-f  loads the buffer from a file.  The buffer is emptied first, and
	      the user is prompted for the filename.  If the specified file
	      does not exist, then the editor assumes the user wishes to edit
	      a new file.

     C-x 2    stores the filename currently associated with the buffer and the
	      cursor position, then loads the buffer from a new file.  The
	      filename and cursor position are stored on a stack, and may be
	      returned to at a later time.  The specified file must exist or
	      an error is generated.

     C-x 3    pops the last saved filename and cursor position off of the
	      saved file stack and loads that file and jumps to the saved cur‐
	      sor position.

     C-x 4    exchanges the current file and cursor position with those stored
	      on top of the file stack.	 This command can be used to quickly
	      switch between two files.

     C-x D    pushes the current file and cursor position onto the file stack,
	      then shifts the filename and cursor position off of the bottom
	      of the file stack and loads that file and jumps to that cursor
	      position.	 This command may be used to visit each of the files
	      on the file stack, in succession, in a circular manner, ad
	      infinitum.

     C-x C-s  saves the buffer to a file.  If the buffer were loaded from a
	      file, the buffer will be written back to that file.  Otherwise,
	      the user will be prompted for a filename.	 Successive invoca‐
	      tions of this command will reuse that filename.

     C-x C-a  lists the filenames saved on the file stack.

     C-x C-i  Inserts a file into the buffer after the line the cursor is on.
	      If the cursor is on the first line in the buffer, the user will
	      be prompted to choose between inserting the file content before
	      or after the first line.	This allows files to be inserted at
	      the beginning of the buffer.  The user is prompted for the file‐
	      name.

     C-x W    writes the lines of the region to a file.	 The user is prompted
	      for the filename.

     C-x F    prompts the user for a new filename to associate with the buf‐
	      fer.  Subsequent invocations of C-x C-s will use this filename.

   Working With External Commands
     For these commands, the region is considered to include the entire lines
     the region endpoints lie on, as well as the lines in between, which is to
     say, these commands work on whole lines.  These commands also prompt the
     user for a command line, which is passed to the shell (/bin/sh) for exe‐
     cution, and so the command may be any expression that program under‐
     stands.

     C-x C-m
	    filters the region through an external command.  The lines in the
	    region are replaced by the command's output.

     C-x &  inserts the output of a specified command into the buffer, after
	    the current line.

     C-x *  writes the lines in the region to the standard input of a speci‐
	    fied command.

     C-x !  runs a command under the shell.

     C-x $  suspends the editor and returns to the shell from which it was
	    launched.  Most shells define a "fg" command to resume suspended
	    applications.

   Moving The Cursor And Scrolling The Buffer
     Lines longer than the width of the terminal are truncated onscreen, but
     the editor will scroll the screen horizontally, automatically, if an
     attempt is made to move along such a line, to a destination off the edge
     of the screen.

     C-f    moves the cursor one character forward in the buffer.

     C-b    moves the cursor one character backward in the buffer.

     M-f    moves the cursor forward one word in the buffer.

     M-b    moves the cursor backward one word in the buffer.

     C-a    moves the cursor to the beginning of the current line.

     C-e    moves the cursor to the end of the current line.

     M-a    moves the cursor to the ending punctuation mark of the sentence
	    the cursor is inside, or the sentence immediately succeeding the
	    cursor position if it is between sentences.

     M-e    moves the cursor to the ending punctuation mark of the sentence
	    immediately preceding the sentence the cursor is inside or before.

     M-}    moves the cursor forward to the next blank line, or line with a
	    full-stop in column zero, after the cursor position in the buffer.

     M-{    moves the cursor backward to the next blank line, or line with a
	    full-stop in column zero, before the cursor position in the buf‐
	    fer.

     M-]    moves the cursor forward in the buffer to the next line having an
	    opening parenthesis, an opening brace, or a full-stop followed by
	    an uppercase S in column zero (troff section).

     M-[    moves the cursor backward to the next line in the buffer having an
	    opening parenthesis, an opening brace, or a full-stop followed by
	    an uppercase S in column zero.

     M-^    moves the cursor to the first non-whitespace character in the cur‐
	    rent line, if any.

     M-+    moves the cursor to the first non-whitespace character in the line
	    immediately succeeding the line the cursor is on.

     M--    moves the cursor to the first non-whitespace character in the line
	    immediately preceding the line the cursor is on.

     M-n    scrolls the buffer upward (or the window on the file downward) by
	    one line.

     M-p    scrolls the buffer downward (or the window on the file upward) by
	    one line.

     C-t    scrolls the buffer upward to place the line the cursor is on at
	    the top of the screen.

     C-l    scrolls the buffer to place the line the cursor is on in the mid‐
	    dle of the screen.

     C-c    scrolls the buffer downward to place the line the cursor is on at
	    the bottom of the screen.

     C-x 0  moves the cursor to first character of the line at the top of the
	    screen.

     C-x 1  moves the cursor to the first character of the line at the bottom
	    of the screen, or the last line in the buffer.

     C-x l  moves the cursor to the line closest to the center of the screen.

     C-v    scrolls the buffer upward (or the window on the file forward) by
	    one screenful of lines.  The cursor is moved to the bottom line on
	    the screen.

     M-v    scrolls the buffer downward (or the window on the file backward)
	    by one screenful of lines.	The cursor is moved to the top line on
	    the screen.

     M->    moves the cursor to the last character in the buffer.

     M-<    moves the cursor to the first character in the buffer.

     C-x #  prompts the user for a line number to move the cursor to.

   Marking Lines With Bookmarks
     An unlimited number of named bookmarks may be associated with lines in
     the buffer.  A bookmark is unset when the bookmarked line deleted.

     C-x m  prompts the user for the name of a bookmark to associate with the
	    line the cursor is on.

     C-x j  jumps to the line associated with a named bookmark.	 The user is
	    prompted for the bookmark name.

   Cutting And Pasting Text To And From The Clipboard
     The following commands are provided to perform cut and paste operations
     on the buffer text.  All of the deletion commands unset the mark.	The
     text on the clipboard is overwritten with every successive deletion or
     copy, except when invoking deletion commands with a repeat count, or when
     invoking the C-k command multiple times in succession, when all the suc‐
     cessive deletions so made will be appended to form one item on the clip‐
     board.  To preserve the contents of the clipboard for later use, it may
     be pushed onto a stack.

     C-x C    copies the region to the clipboard without deleting it from the
	      buffer.

     M-c      copies text to the clipboard from the cursor position to the end
	      of the line, without deleting it.	 Suppying a repeat count to
	      this command determines the number of lines from which text will
	      be copied.  A repeat count of 1 is the same as supplying no
	      repeat count.  A repeat count of 2, for example, would copy the
	      text of the current line, from the cursor position to the end of
	      the line, and the text of the subsequent line, to the end of
	      that line, to the clipboard.  The final terminating newline of
	      the last line affected is not copied.

     M-C      copies text to the clipboard from the cursor position to the end
	      of the current paragraph, without deleting it.  Supplying a
	      repeat count to this command determines the number a paragraphs
	      from which text will be copied.  Supplying a repeat count of 1
	      is the same as supplying no repeat count.

     C-d      deletes the character under the cursor.

     C-h      deletes the character before the cursor.

     M-d      deletes the text from the cursor position forward, stopping at
	      the first character of the next word in the buffer.  If the cur‐
	      sor is on whitespace, this command will delete all the white‐
	      space characters between the cursor position and the next non-
	      whitespace character in the buffer.  The deleted whitespace is
	      stored on the clipboard, unlike that deleted by the C-x C-p com‐
	      mand.

     M-h      deletes the text from the cursor position backward to the first
	      character of the word the cursor is within, or the first charac‐
	      ter of the previous word if the cursor is between words.

     C-x C-p  deletes successive whitespace characters from the cursor loca‐
	      tion to the next non-whitespace character in the current line,
	      or to the end of the line, if text does not appear after the
	      cursor location in the current line.  The deleted whitespace is
	      not stored on the clipboard, but discarded.  The user can
	      restore accidentally-deleted whitespace with the undo command.

     C-k      deletes the characters in the line from the cursor position for‐
	      ward to the end of the line, excepting the terminating newline.
	      Invoking this command on a blank line will delete the terminat‐
	      ing newline, causing the blank line to be removed from the buf‐
	      fer.  If this command is given a repeat count, it will delete
	      whole lines.  Successive invocations of this command will cause
	      each separate deletion to be appended to form one item on the
	      clipboard.

     M-k      deletes the characters from the start of the line the cursor is
	      on to the cursor position.

     C-x E    deletes the text from the cursor position to the ending punctua‐
	      tion mark of the sentence the cursor is within or before.

     C-x A    deletes the text from before the cursor position to the ending
	      punctuation mark of the sentence preceding the one the cursor is
	      within or before.

     C-x i    deletes the text from the cursor position forward to the next
	      blank line, or line with a full-stop in column zero, without
	      deleting the line.

     C-x o    deletes the text from the blank line, or line with a full-stop
	      in column zero, closest to the cursor position, occuring before
	      the cursor position, without deleting the blank line.

     C-x w    deletes the text from the cursor position forward to the next
	      occurrence of a specified regular expression.  The user is
	      prompted for the pattern to use.

     C-x q    deletes the text from the occurrence of a match on a specified
	      regular expression closest to the cursor position, occurring
	      before the cursor position, to the cursor position.

     C-x K    deletes the text from a specified bookmark to the cursor posi‐
	      tion.  The exact text deleted depends upon whether the bookmark
	      occurs before or after the cursor position in the buffer, as
	      described in the section documenting the region.	The book mark
	      will be unset after this operation.

     C-x =    deletes the text from the first non-whitespace character in the
	      line the cursor is on, to the cursor position.

     C-x y    deletes the text from the cursor position to the end of the buf‐
	      fer, excepting the final terminating newline of the final line,
	      which cannot be deleted.

     C-x u    deletes the text from the beginning of the buffer to the cursor
	      position.

     C-x C-d  deletes the text delineated by the region.

     C-y      pastes the content of the clipboard into the buffer before the
	      cursor position.	The region is set to the inserted text, so
	      that it may be removed again by invoking C-x C-d, or M-y.

     M-y      deletes the text delineated by the region, moves the current
	      clipboard to the bottom of the clipboard stack, then pops the
	      clipboard on the top of the clipboard stack to replace the cur‐
	      rent clipboard, whose content is then pasted into the current
	      buffer.  Successive invocations after an invocation of C-y,
	      allow the user to browse the items on the clipboard stack, by
	      successively replacing the region with the content of each clip‐
	      board on the clipboard stack.

     M-t      pushes the current clipboard onto the clipboard stack, and cre‐
	      ates a new empty clipboard for use by subsequent deletion opera‐
	      tions.

     M-g      destroys the current clipboard and replaces it with the last
	      clipboard pushed onto the clipboard stack.

     C-x ;    Prompts the user for a number of an item on the clipboard stack,
	      and then pastes the content of that clipboard into the buffer at
	      the cursor location.  Clipboards on the clipboard stack are num‐
	      bered from 1, with clipboard 1 being the clipboard on the bottom
	      of the clipboard stack, which is to say, the first clipboard
	      pushed onto the stack.  The number of the clipboard on the top
	      of the clipboard stack (the last clipboard pushed onto the clip‐
	      board stack) may be ascertained by invoking this command and
	      giving it a clipboard number of zero.

     C-x M-q  Executes M-g, followed by C-y, to pop the clipboard stack and
	      paste the new content into the buffer at the cursor location.

     C-x Q    copies the contents of the clipboard on top of the clipboard
	      stack into the current clipboard, overwriting its previous con‐
	      tent, without popping the clipboard stack, and then pastes the
	      new content into the buffer at the cursor location.

   Undoing Modifications To Buffer Content
     Insertions and deletions may be undone with the undo command.  If the
     last buffer-modifying command invoked was the undo command, then the redo
     command is available to allow the undone changes themselves to be undone.
     One can think of the undo operation as moving the buffer back in time,
     and the redo operation moving the buffer forward in time.

     C-u    undoes the last modification to the buffer.	 Changes to the buffer
	    occur in a line-oriented manner internally in the editor, and so
	    these changes are undone line-by-line as well.  This means that if
	    you deleted many lines in the buffer with one invocation of C-x y,
	    for example, the lines would be undeleted one at a time, by suc‐
	    cessive invocations of this command, and not all at once.  The
	    undo behaviour of the editor may baffle you at first, but you are
	    merely seeing the changes that go on "behind the scenes," and if
	    you keep invoking C-u, you will get back to the buffer state you
	    desire.  This command accepts a repeat count.

     C-x _  undoes the last undo operation.  This command is only available if
	    the last modification to the buffer was performed by an undo oper‐
	    ation.  Once fresh changes to the buffer have been made after the
	    undo command has been invoked, the redo information is discarded.
	    This command accepts a repeat count.

	    One can think of the discarding of the redo information in this
	    manner.  Let's say, after having moved the buffer backward in time
	    by invoking the undo command, and then perhaps having moved for‐
	    ward in time again by invoking the redo command, the user then
	    chose to move forward into a different future from that point by
	    manually modifying the buffer content.  At that moment the old
	    future is discarded and no longer exists.

   Searching For Matches On Regular Expressions
     All searches wraparound to search the portion of the buffer on the oppo‐
     site side of the cursor, if they do not find a match in the specified
     direction.	 A search will fail if there is no match anywhere in the buf‐
     fer.

     C-s  searches forward in the buffer for a match upon a specified regular
	  expression.  The user is prompted for the pattern to use.

     C-r  searches backward in the buffer for a match upon a specified regular
	  expression.  The user is prompted for the pattern to use.

     M-s  repeats the last regular expression search, searching forward in the
	  buffer.

     M-r  repeats the last regular expression search, searching backward in
	  the buffer.

   Transforming Lines With Regular-Expression-Based Substitutions
     Each of the commands below performs a regular-expression-based substitu‐
     tion over a range of lines in the buffer.	For each command the user is
     prompted for the pattern, the replacement text, and a repeat count to
     use.  A repeat count of 0 means to replace every occurrence in the
     affected region.  The replacement text can refer to the first ten paren‐
     thesized subexpressions in the pattern by using the escape sequences \1
     to \0, with \0 referring to the tenth subexpression.  The text of the
     entire match can be accessed with \&.  As well, \U turns on conversion to
     uppercase and will effect all text from that point forward in the
     affected line, including that portion of the line outside the replacement
     text.  Similarly \L will turn on conversion to lowercase.	Either can be
     turned off with \e.  The two sequences \u and \l convert the single char‐
     acter succeeding them to upper or lower case, respectively.  These com‐
     mands are front-ends to the Munger(1) "substitute" intrinsic.  More
     information on performing substitutions can be found in the Munger(1)
     manual page.

     Terminating newlines are removed from lines when performing substitutions
     so that "$" will match the empty string before the newline, and "^$" will
     match empty lines.	 The terminators are replaced when the modified lines
     are written back to the buffer.

     C-x t    performs a substitution on the portion of the line after the
	      cursor.

     C-x T    performs a substitution on the portion of the line before the
	      cursor.

     C-x )    performs a substitution on the region from the cursor position
	      to the next blank line, or line with a full-stop in column zero.

     C-x (    performs a substitution on the region from the blank line, or
	      line with a full-stop in column zero, closest to the cursor
	      position, occurring before the cursor position, to the cursor
	      position.

     C-x S    performs a substitution on the region from the cursor position
	      to the occurrence of the next match of a specified regular
	      expression in the buffer.	 The user is prompted for the pattern.

     C-x R    performs a substitution on the region from the match on a speci‐
	      fied regular expression closest to the cursor position, occur‐
	      ring before the cursor position, to the cursor position.	The
	      user is prompted for the pattern.

     C-x C-r  performs a substitution on the region.

     C-x J    performs a substitution on the region formed between a named
	      bookmark and the cursor location.	 The exact region affected
	      depends upon whether the bookmark occurs before or after the
	      cursor in the buffers as detailed in the section of this docu‐
	      ment describing the region.

     C-x .    performs a substitution on the region from the cursor position
	      to the end of the buffer.

     C-x ,    performs a substitution on the region from the start of the buf‐
	      fer to the cursor position.

   Modifying The Indentation Of Lines
     The following commands alter the indentation of lines in the buffer.  The
     functions which decrease indentation, do so by one tab character or the
     equivalent number of space characters, as determined by the tabstop vari‐
     able.  Indentation is assumed to be in increments of this variable, so
     for example, if it were set to three, then one tab or three space charac‐
     ters would be removed from the start of the affected lines.

     M-z      decreases the indentation of contiguous lines from the line the
	      cursor is on, forward in the buffer.  Supplying a repeat count
	      to this command determines the number of lines this command
	      affects.	The default is to only affect the line the cursor is
	      on.

     M-x      behaves similarly to the above described command but increases
	      the indentation of the affect lines, instead of decreasing it.

     C-x z    decreases the indentation of the range of lines from the line
	      the cursor is on to the next blank line.	Supplying a repeat
	      count to this command will cause it to affect lines to the nth
	      next blank line.

     C-x x    increases the indentation of the range of lines from the line
	      the cursor is on to the next next blank line.  Supplying a
	      repeat count to this command will cause it to affect lines to
	      the nth next blank line.

     C-x C-z  decreases the indentation of the range of lines from the blank
	      line closest to the cursor position, occurring before the cursor
	      position, to the line the cursor is on.  Supplying a repeat
	      count to this command will cause it to affect lines from the nth
	      previous blank line to the cursor position.

     C-x C-x  increases the indentation of the range of lines from the blank
	      line closest to the cursor position, occurring before the cursor
	      position, to the line the cursor is on.  Supplying a repeat
	      count to this command will cause it to affect lines from the nth
	      previous blank line to the cursor position.

     C-x 5    attempts to invoke M-%, to jump to the other end of a region
	      delimited by parentheses, brackets, or braces, and if success‐
	      ful, decreases the indentation of that range of lines, inclu‐
	      sive.  This command ignores repeat counts.

     C-x 6    attempts to invoke M-%, to jump to the other end of a region
	      delimited by parentheses, brackets, or braces, and if success‐
	      ful, increases the indentation of that range of lines, inclu‐
	      sive.  This command ignores repeat counts.

     C-x 7    decreases the indentation of the lines in the region.  This com‐
	      mand ignores repeat counts.

     C-x 8    increases the indentation of the lines in the region.  This com‐
	      mand ignores repeat counts.

     C-x `    increases the indentation of the range of lines from the cursor
	      position to the line containing the next occurrence of a match
	      on a specified regular expression, inclusive.  The user is
	      prompted for the pattern to use.	Supplying a repeat count to
	      this command will cause it to affect lines to the nth next
	      occurence of the specified regular expression.

     C-x \    decreases the indentation of the range of lines from the cursor
	      position to the line containing the next occurrence of a match
	      on a specified regular expression.  The user is prompted for the
	      pattern to use.  Supplying a repeat count to this command will
	      cause it to affect lines to the nth next occurence of the speci‐
	      fied regular expression.

     C-x |    decreases the indentation of the range of lines from the occur‐
	      rence of a match on a specified regular expression closest to
	      the cursor position, before the cursor position, to the cursor
	      position.	 The user is prompted for the pattern to use.  Supply‐
	      ing a repeat count to this command will cause it to affect lines
	      from the nth previous occurence of the specified regular expres‐
	      sion.

     C-x ~    increases the indentation of the range of lines from the occur‐
	      rence of a match on a specified regular expression, closest to
	      the cursor position, before the cursor position, to the cursor
	      position.	 The user is prompted for the pattern to use.  Supply‐
	      ing a repeat count to this command will cause it to affect lines
	      from the nth previous occurence of the specified regular expres‐
	      sion.

   Altering The Capitalization Of Words
     M-;  capitalizes the character under the cursor, and converts any con‐
	  tiguous non-whitespace succeeding characters to lowercase.

     M-"  converts the contiguous non-whitespace characters from the cursor
	  position forward to lowercase.

     M-:  converts the contiguous non-whitespace characters from the cursor
	  position forward to uppercase.

   Reforming Paragraphs Of Text
     The following commands filter a range of buffer lines through the
     fmt.munger script, which is part of the Munger(1) distribution.  Any tabs
     in the formatted region will be expanded, according to the value of the
     tabstop variable and their position in the line.  The maximum length of
     formatted lines is determined by the value of the line_length variable.

     M-q      formats the lines from the line the cursor is on to the next
	      blank line, or line with a full-stop in column zero.  Supplying
	      a repeat count to this command will cause it to affect lines to
	      the nth next delimiter line.

     M-w      formats the lines from the blank line, or line with a full-stop
	      in column zero, closest to the cursor, before the cursor posi‐
	      tion, to the line the cursor is on.  Supplying a repeat count to
	      this command will cause it to affect lines from the nth previous
	      delimiter line.

     C-q      formats the lines from the line the cursor is on to the next
	      blank line, or line with a full-stop in column zero, propagating
	      any non-alphabetic prefix characters, possibly delimited by
	      whitespace on either or both sides, found at the start of the
	      first line of the region, to the start of each line of the for‐
	      matted region.  This command can be used to format some types of
	      program comments and citations in email messages.	 Supplying a
	      repeat count to this command will cause it to affect lines to
	      the nth next delimiter line.

     C-w      formats the lines from the blank line, or line with a full-stop
	      in column zero, closest to the cursor, before the cursor posi‐
	      tion, to the line the cursor is on, propagating any non-alpha‐
	      betic prefix characters, possibly delimited by whitespace on
	      either or both sides, found at the start of the first line of
	      the region, to the start of each line of the formatted region.
	      This command can be used to format some types of program com‐
	      ments and citations in email messages.  Supplying a repeat count
	      to this command will cause it to affect lines from the nth pre‐
	      vious delimiter line.

   Working With Tags
     The following command can be used to find the location of a toplevel def‐
     inition in program code, using tags tables.  See ctags(1) for more infor‐
     mation on tags.

     C-x C-g  prompts the user for a symbol name on the status line, and
	      attempts to lookup that symbol in the tags file in the current
	      directory.  If the cursor appears to be on a symbol in the buf‐
	      fer, that symbol will appear on the status line as a default
	      value.  Tag completion is available at the prompt and is trig‐
	      gered by pressing the tab key.  If a tag is found, the editor
	      will load the appropriate file and jump to the location of the
	      toplevel definition for that symbol as specified in the tags ta‐
	      ble.  The current filename and cursor position will be pushed
	      onto the file stack, first, and may be returned to with the C-x
	      3 command.

   Evaluating Munger Code
     C-x L    sends the s-expression immediately before the cursor position to
	      an inferior Munger process for evaluation.  The editor will
	      attempt to read and page the inferior Munger's output.  If the
	      editor does not receives output from the inferior Munger immedi‐
	      ately, it will complain.	Any subsequently arriving data from
	      the inferior Munger may be paged by invoking C-x ?.

     C-x ?    displays any output pending from the inferior Munger process.

     C-x C-l  terminates the inferior Munger process.

   Miscellaneous Commands
     C-x s  Causes the editor to remove trailing contigous whitespace charac‐
	    ters from the ends of buffer lines.	 Lines consisting of only
	    whitespace will become blank lines.

     M-%    instructs the editor to move the cursor to the location of the
	    delimiter which matches ("closes") the delimiter character under
	    the cursor.	 If the cursor is not on a "(", ")", "[", "]", "{", or
	    "}" character, an error message will be displayed in the status
	    line.

     C-o    inserts a blank line into the buffer before the line the cursor is
	    on.

     C-x g  displays the filename associated with the buffer, the cursor posi‐
	    tion, and whether or not the buffer contains unsaved changes, on
	    the status line.

     C-x V  displays the version of the editor and the version of Munger on
	    which is it running, as well as the author's copyright notice.

     C-x C-v
	    counts the number of words in the buffer, using the same algorithm
	    as wc(1), and displays the count on the status line.

     M-i    allows the user to insert any character their keyboard can gener‐
	    ate, excepting the carriage return character (ascii 13), into the
	    buffer.  When invoked, the command prompts the user to type a
	    character and that character is inserted into the buffer.  In this
	    manner characters which have commands bound to them, may be
	    inserted into the buffer.

AUTHOR
     James Bailie ⟨jimmy@mammothcheese.ca⟩
     http://www.mammothcheese.ca

				March 28, 2024
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net