DragonFly On-Line Manual Pages

Search: Section:  


dkns(1)                DragonFly 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 console programmer's editor (because that's how we roll). Pretty visual gewgaws are cognitive noise, my sons and daughters. The plainer the editor, the deeper the flow. What you want is keystroke-efficiency. Dickens 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- indicate 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 confirmation 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 considered 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 propagated 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 location. If the opening delimiter cannot be found, the terminal bell is sounded. In no case will the editor search further than the line which the cursor would be moved to, if an "C-x [" command were invoked from the original cursor position. 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- modifiable 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 editor will prompt for this input on the last line of the screen, called the status line. At any command prompt, three editing commands are available, and possibly interactive filename completion and a browsable history 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 continue 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 specified 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 editor 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 endpoint 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 invoking 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 cursor 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 invocations 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 filename. 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 buffer. 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 execution, and so the command may be any expression that program understands. 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 specified 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 buffer. 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 current 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 middle 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 successive deletions so made will be appended to form one item on the clipboard. 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 cursor is on whitespace, this command will delete all the whitespace 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 command. M-h deletes the text from the cursor position backward to the first character of the word the cursor is within, or the first character of the previous word if the cursor is between words. C-x C-p deletes successive whitespace characters from the cursor location 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 forward to the end of the line, excepting the terminating newline. Invoking this command on a blank line will delete the terminating newline, causing the blank line to be removed from the buffer. 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 punctuation 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 position. 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 buffer, 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 current 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 clipboard on the clipboard stack. M-t pushes the current clipboard onto the clipboard stack, and creates a new empty clipboard for use by subsequent deletion operations. 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 numbered 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 clipboard 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 content, 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 successive 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 operation. 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 forward 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 opposite 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 buffer. 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 substitution 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 parenthesized 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 character succeeding them to upper or lower case, respectively. These commands 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 specified regular expression closest to the cursor position, occurring 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 document 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 buffer 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 variable. 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 characters 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 successful, decreases the indentation of that range of lines, inclusive. 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 successful, increases the indentation of that range of lines, inclusive. This command ignores repeat counts. C-x 7 decreases the indentation of the lines in the region. This command ignores repeat counts. C-x 8 increases the indentation of the lines in the region. This command 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 specified regular expression. C-x | decreases the indentation of the range of lines from the occurrence 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. Supplying a repeat count to this command will cause it to affect lines from the nth previous occurence of the specified regular expression. C-x ~ increases the indentation of the range of lines from the occurrence 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. Supplying a repeat count to this command will cause it to affect lines from the nth previous occurence of the specified regular expression. Altering The Capitalization Of Words M-; capitalizes the character under the cursor, and converts any contiguous 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 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 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 formatted 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 position, to the line the cursor is on, 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 formatted 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 from the nth previous delimiter line. Working With Tags The following command can be used to find the location of a toplevel definition in program code, using tags tables. See ctags(1) for more information 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 buffer, that symbol will appear on the status line as a default value. Tag completion is available at the prompt and is triggered 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 table. 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 immediately, 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 characters 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 position, 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 generate, 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 Mon, Oct 13, 2014

Search: Section: