fa.openbsd.tech
[Top] [All Lists]

Re: Fix the mg tutorial file

Subject: Re: Fix the mg tutorial file
From: Mayukh Bose <mayukh_bose@xxxxxxxxxxx>
Date: Mon, 28 Jul 2008 02:06:59 UTC
Newsgroups: fa.openbsd.tech

Sounds good. I've done as you said and placed it in the public domain


Cheers,

Mayukh


Index: tutorial

===================================================================

RCS file: /cvs/src/usr.bin/mg/tutorial,v

retrieving revision 1.4

diff -u -r1.4 tutorial

--- tutorial    25 May 2005 23:16:11 -0000    1.4

+++ tutorial    28 Jul 2008 01:58:28 -0000

@@ -1,608 +1,344 @@

-Copyright (c) 1985 Richard M. Stallman.  See end for copying conditions.

+Author: Mayukh Bose. See end of document for copyright information.



-You are looking at the Emacs tutorial.

+                              The mg Tutorial

+                              ---------------



-Emacs commands generally involve the CONTROL key or the META (ESC)

-key.  Rather than write out META or CONTROL each time we want you to

-prefix a character, we'll use the following abbreviations:

+Most mg commands involve using the Control (sometimes labelled "Ctrl") or the

+Meta (sometimes labelled "Alt") key. If you don't have a Meta or Alt key on

+your keyboard, you may use the Esc key instead. Rather than spelling out
Ctrl

+or Meta throughout this tutorial, we'll use the following convention:



- C-<chr>  means hold the CONTROL key while typing the character <chr>

-      Thus, C-f would be: hold the CONTROL key and type f.

- M-<chr>  means type <ESC>, release it, then type the character <chr>.

+  C-<chr>   means hold down the Control key while typing the character
<chr>.

+            Thus, C-a means: hold down the Control key and type a.

+  M-<chr>   means hold down the Meta key while typing the character <chr>.

+            Thus, M-s means: hold down the Meta key and type s.



-The characters ">>" at the left margin indicate directions for you to

-try using a command.  For instance:

+If you are forced to use the Esc key instead of the Meta key, press Esc,

+release it and then type the character you want. For instance, you can press

+the Esc key, release it and then type s.



->>  Now type C-v (View next screen) to move to the next screen.

-    (go ahead, do it by depressing the control key and v together).

-    From now on, you'll be expected to do this whenever you finish

-    reading the screen.

+>>  Now type C-v (Control key and v) to move to the next screen.

+    You should be taken to the next screen when you type that key
combination.



-Note that there is an overlap when going from screen to screen; this

-provides some continuity when moving through the file.

+Congratulations, you have now moved to the next screen.



-The first thing that you need to know is how to move around from

-place to place in the file.  You already know how to move forward a

-screen, with C-v.  To move backwards a screen, type M-v (type <ESC>v).

+Note that when you move to the next screen, you may still see the last line
of

+the previous screen as the first line in the next one. This provides some

+continuity when you move from one screen to the next.



->>  Try typing M-v and then C-v to move back and forth a few times.

+To move back to the previous screen, you can type M-v. If you don't have a

+Meta or Alt key, press and release Esc and then type v. To move forward
again,

+you can press C-v.



+This brings up the first lesson of using mg. The Ctrl and Meta key
combinations

+generally perform similar functions.



-SUMMARY

--------

-

-The following commands are useful for viewing screenfuls:

-

-    C-v    Move forward one screenful

-    M-v    Move backward one screenful

-    C-l    Clear screen and redisplay everything

-         putting the text near the cursor at the center.

-         (That's control-L, not control-1.

-          There is no such character as control-1.)

-

->> Find the cursor and remember what text is near it.

-   Then type a C-l.

-   Find the cursor again and see what text is near it now.

-

-

-BASIC CURSOR CONTROL

---------------------

-

-Getting from screenful to screenful is useful, but how do you

-reposition yourself within a given screen to a specific place?  There

-are several ways you can do this.  One way (not the best, but the most

-basic) is to use the commands previous, backward, forward and next.

-As you can imagine these commands (which are given to Emacs as C-p,

-C-b, C-f, and C-n respectively) move the cursor from where it

-currently is to a new place in the given direction.  It is also

-possible to move the cursor with the arrow keys, but this requires you

-move your hand from the keyboard, it is also not supported on other

-machines that do support Emacs.  Emacs runs on everything from a CP/M

-machine to large mainframes. Here then, in a more graphical form are

-the commands:

-

-              Previous line, C-p

-                  :

-                  :

-   Backward, C-b .... Current cursor position .... Forward, C-f

-                  :

-                  :

-              Next line, C-n

-

->> Move the cursor to the line in the middle of that diagram

-   and type C-l to see the whole diagram centered in the screen.

-

-You'll probably find it easy to think of these by letter.  P for

-previous, N for next, B for backward and F for forward.  These are

-the basic cursor positioning commands and you'll be using them ALL

-the time so it would be of great benefit if you learn them now.

-

->> Do a few C-n's to bring the cursor down to this line.

-

->> Move into the line with C-f's and then up with C-p's.

-   See what C-p does when the cursor is in the middle of the line.

-

->> Try to C-b at the beginning of a line.  Do a few more C-b's.

-   Then do C-f's back to the end of the line and beyond.

-

-When you go off the top or bottom of the screen, the text beyond

-the edge is shifted onto the screen so that your instructions can

-be carried out while keeping the cursor on the screen.

-

->> Try to move the cursor off the bottom of the screen with C-n and

-   see what happens.

+>> Try typing M-v and C-v to move back and forth a few times.



-If moving by characters is too slow, you can move by words.  M-f

-(ESC-f) moves forward a word and M-b moves back a word.

+>> Try typing C-v to move to the next screen.



->> Type a few M-f's and M-b's.  Intersperse them with C-f's and C-b's.



-Notice the parallel between C-f and C-b on the one hand, and M-f and

-M-b on the other hand.  Very often Meta characters are used for

-operations related to English text whereas Control characters operate

-on the basic textual units that are independent of what you are

-editing (characters, lines, etc). C-a and C-e move to the beginning or

-end of a line.



->> Try a couple of C-a's, and then a couple of C-e's.

-   See how repeated C-a's do nothing.

+Basic Movement Commands

+-----------------------



-Two other simple cursor motion commands are M-< (Meta Less-than),

-which moves to the beginning of the file, and M-> (Meta Greater-than),

-which moves to the end of the file.  You probably don't need to try

-them, since finding this spot again will be boring.  On most terminals

-the "<" is above the comma and you must use the shift key to type it.

-On these terminals you must use the shift key to type M-< also;

-without the shift key, you would be typing M-comma.

+Now that you know how to move from screen to screen, it is time to learn the

+commands that move your cursor within a screen. You may be able to use the

+cursor keys (they are labelled with arrow symbols) to move up, down, left or

+right. If you cannot get these keys to work, you may also use C-p, C-n, C-b

+and C-f to move the cursor.



-The location of the cursor in the text is also called "point".  To

-paraphrase, the cursor shows on the screen where point is located in

-the text.

+You can remember these commands by letter: P - Previous line, N - Next line,

+B - Backwards and F - Forward.



-Here is a summary of simple moving operations including the word and

-sentence moving commands:

+>> Use the arrow keys or the C-p, C-n etc. to move around this screen.



-    C-f    Move forward a character

-    C-b    Move backward a character

+The next key to learn about is the C-l key (Control and lowercase L). This

+refreshes the screen and centers the cursor on the line where you typed the

+key combination.



-    M-f    Move forward a word

-    M-b    Move backward a word

+>> Try typing C-l now to refresh your screen. The screen should redraw and

+   center itself on the line that you typed C-l on.



-    c-n    Move to next line

-    C-p    Move to previous line

+Moving one character at a time is not necessarily efficient. To move one
word

+at a time, you can use M-f and M-b to move forwards and backwards one word

+at a time.



-    C-a    Move to beginning of line

-    C-e    Move to end of line

+>> Try moving one word at a time by using M-f and M-b on this line.



-    M-<    Go to beginning of file

-    M->    Go to end of file

+The next commands to learn are how to move to the beginning and end of a
line.

+To move to the beginning of a line, you may use the Home key or C-a. To move

+to the end of a line, use the End key or C-e.



->> Try all of these commands now a few times for practice.

-   Since the last two will take you away from this screen,

-   you can come back here with M-v's and C-v's.  These are

-   the most often used commands.

+>> Try moving to the beginning and end of this line using the above
commands.



-Like all other commands in Emacs, these commands can be given

-arguments which cause them to be executed repeatedly.  The way you

-give a command a repeat count is by typing C-u and then the digits

-before you type the command.

+Two other commands to learn are M-< (Meta-Less than) and M-> (Meta-Greater

+than) which move you to the beginning and end of the file respectively. You

+may not want to try that now as you will probably lose your place in this

+tutorial. Note that on most terminals, < is above the , key, so you'll need

+to press the Shift key to type <.



-For instance, C-u 8 C-f moves forward eight characters.

-

->> Try giving a suitable argument to C-n or C-p to come as close

-   as you can to this line in one jump.

-

-The only apparent exception to this is the screen moving commands,

-C-v and M-v.  When given an argument, they scroll the screen up or

-down by that many lines, rather than screenfuls.  This proves to be

-much more useful.

-

->> Try typing C-u 8 C-v now.

-

-Did it scroll the screen up by 8 lines?  If you would like to

-scroll it down you can give an argument to M-v.

-

-

-WHEN EMACS IS HUNG

+Movement Summary

 -----------------



-If Emacs gets into an infinite (or simply very long) computation which

-you don't want to finish, you can stop it safely by typing C-g.

-You can also use C-g to discard a numeric argument or the beginning of

-a command that you don't want to finish.

-

->> Type C-u 100 to make a numeric arg of 100, then type C-g.

-   Now type C-f.  How many characters does it move?

-   If you have typed an <ESC> by mistake, you can get rid of it

-   with a C-g.

-

-WINDOWS

--------

+    C-f    Move forward one character (can also use arrow key)

+    C-b    Move backward one character (can also use arrow key)

+    M-f    Move forward one word

+    M-b    Move backward one word

+    C-a    Move to beginning of line (can also use Home key)

+    C-e    Move to end of line (can also use End key)

+    C-v     Move forward one page

+    M-v     Move backward one page

+    M-<    Move to beginning of line

+    M->    Move to end of line

+

+Now that you've mastered the basics of moving around in mg, you can cause mg

+to execute these commands multiple times. The way to do this is to type

+C-u followed by some digits followed by a movement command.

+

+>> Type C-u 5 C-f to move forward 5 characters.

+

+In general, C-u allows you to execute any command multiple times, not just

+cursor motion commands. The only exception to this rule are C-v and M-v.

+When using these two commands with an argument, they move the cursor by that

+many lines instead of pages.



-Emacs can have several windows, each displaying its own text.

-At this stage it is better not to go into the techniques of

-using multiple windows.  But you do need to know how to get

-rid of extra windows that may appear to display help or

-output from certain commands.  It is simple:

-

-    C-x 1    One window (i.e., kill all other windows).

-

-That is Control-x followed by the digit 1.

-C-x 1 makes the window which the cursor is in become

-the full screen, by getting rid of any other windows.

-

->> Move the cursor to this line and type C-l (Control-L).

->> Type M-x. The cursor will move to the bottom of the screen.

->> Type the words "describe-bindings" and hit return.

-   See how this window shrinks, while a new one appears

-   to display which functions are connected to which keys.

-

->> Type C-x 1 and see the documentation listing window disappear.

-

-

-INSERTING AND DELETING

+Cancelling mg commands

 ----------------------



-If you want to insert text, just type it.  Characters which you can

-see, such as A, 7, *, etc. are taken by Emacs as text and inserted

-immediately.  Type <Return> (the carriage-return key) to insert a

-Newline character.

-

-You can delete the last character you typed by typing <DEL>.  More

-generally, <DEL> deletes the character immediately before the current

-cursor position.

+If you have started typing out a command that you didn't mean to finish, you

+can use the C-g command to cancel the command immediately.



->> Do this now, type a few characters and then delete them

-   by typing <DEL> a few times.  Don't worry about this file

-   being changed; you won't affect the master tutorial.  This is just

-   a copy of it.

+>> For example, type C-u 50 and then type C-g to cancel the C-u command.

+>> Type Esc and then C-g to cancel the Esc key.



->> Now start typing text until you reach the right margin, and keep

-   typing.  When a line of text gets too big for one line on the

-   screen, the line of text is "continued" off the edge of the screen.

-   The dollar sign at the right margin indicates a line which has

-   been continued.

->> Use <DEL>s to delete the text until the line fits on one screen

-   line again.  The continuation mark goes away.

+In general, you can use C-g to stop any mg commands. You may type it
multiple

+times if you wish. You should see the word "Quit" appear in the bottom of
the

+screen when you type C-g indicating that a command was cancelled.



->> Move the cursor to the beginning of a line and type <DEL>.  This

-   deletes the newline before the line and merges the line onto

-   the previous line.  The resulting line may be too long to fit, in

-   which case it has a continuation mark.

->> Type <Return> to reinsert the Newline you deleted.

+In general, when in doubt, use C-g to get out of trouble.



-Remember that most Emacs commands can be given a repeat count;

-this includes characters which insert themselves.

-

->>  Try that now -- type C-u 8 * and see what happens.

-

-You've now learned the most basic way of typing something in

-Emacs and correcting errors.  You can delete by words or lines

-as well.  Here is a summary of the delete operations:

-

-    <DEL>        delete the character just before the cursor

-    C-d         delete the next character after the cursor

-

-    M-<DEL>      kill the word immediately before the cursor

-    M-d         kill the next word after the cursor

-

-    C-k         kill from the cursor position to end of line

-

-Notice that <DEL> and C-d vs M-<DEL> and M-d extend the parallel

-started by C-f and M-f (well, <DEL> isn't really a control

-character, but let's not worry about that).

-

-Now suppose you kill something, and then you decide that you want to

-get it back?  Well, whenever you kill something bigger than a

-character, Emacs saves it for you.  To yank it back, use C-y.  You

-can kill text in one place, move elsewhere, and then do C-y; this is

-a good way to move text around.  Note that the difference

-between "Killing" and "Deleting" something is that "Killed" things

-can be yanked back, and "Deleted" things cannot.  Generally, the

-commands that can destroy a lot of text save it, while the ones that

-attack only one character, or nothing but blank lines and spaces, do

-not save.

-

-For instance, type C-n a couple times to position the cursor

-at some line on this screen.

-

->> Do this now, move the cursor and kill that line with C-k.

-

-Note that a single C-k kills the contents of the line, and a second

-C-k kills the line itself, and make all the other lines move up.  If

-you give C-k a repeat count, it kills that many lines AND their

-contents.

-

-The text that has just disappeared is saved so that you can

-retrieve it.  To retrieve the last killed text and put it where

-the cursor currently is, type C-y.

-

->> Try it; type C-y to yank the text back.

-

-Think of C-y as if you were yanking something back that someone

-took away from you.  Notice that if you do several C-k's in a row

-the text that is killed is all saved together so that one C-y will

-yank all of the lines.

-

->> Do this now, type C-k several times.

-

-Now to retrieve that killed text:

-

->> Type C-y.  Then move the cursor down a few lines and type C-y

-   again.  You now see how to copy some text.

+Windows

+-------



+The mg editor can support several windows at the same time, each one
displaying

+different text. To split a screen into two horizontal windows use C-x 2 to
do

+this. To return to one window, use C-x 1 to close the other windows and only

+keep the current window.

+

+>> Use C-x 2 to split the screen into two windows.

+

+>> Use C-x o to move from one window to the other.

+

+>> Use C-x 1 to restore back to one window.

+

+Inserting/Deleting Text

+-----------------------

+

+To insert text anywhere, simply move your cursor to the appropriate position

+and begin typing lines. To delete characters, use the backspace key.

+

+To delete characters to the right of the cursor, you can use C-d to delete

+characters to the right of the current position.  If you use M-d instead of

+C-d, you can delete one word at a time instead of one character at a time.

+

+>> Try inserting and deleting characters and words on this line.

+

+Note that if you type too many characters on a single line, the line will

+scroll off the screen and you will see a $ on the line to indicate that the

+line is too long to fit on the screen at one time.

+

+To delete a line at a time, you can use C-k to kill the line from the current

+cursor position to the end of the line. You can type C-k multiple times to

+kill many lines.

+

+You can issue insert or delete commands multiple times using C-u. For
example,

+C-u 10 e will type out eeeeeeeeee, C-u 4 M-d will delete four words to the

+right of the cursor and so on.

+

+To undo any operation, you can use C-_ (That's control-underscore).

+

+Now if you kill something that you didn't mean to, you can yank it back from

+the dead by using C-y. In general, when you kill something bigger than a
single

+character, mg saves it in a buffer somewhere and you can restore it by using

+C-y. This is useful for moving text around. You can kill text in one place,

+move your cursor to the new location and then use C-y to paste it there.

+

+Search Text

+-----------

+

+To search for text, type C-s followed by the text you wish to search for.
Note

+that as you start typing the characters, mg automatically searches as you
type

+the characters.

+

+To continue searching the text you're looking for, type C-s to find the next

+instance. To search in reverse, type C-r instead of C-s. If you type C-s or

+C-r twice, it will simply search for the last text that you searched for.

+

+To stop searching for text, simply use the arrow keys or C-g to stop the

+search operation.

+

+>> Use C-s foo to search for "foo" in the text. You can use C-s again to

+   find other instances of foo in the file.

+

+Note that if a word cannot be found, it will say Failing I-search: at the

+bottom of the screen. Typing C-s again will wrap the search around from the

+top of the file and begin searching from there.

+

+Replace Text

+------------

+

+To replace text, use M-%. You will be prompted for the text to search for
and

+the text to replace it with. You will then be taken to the first instance of

+text from the current position. At this point you can do one of the
following:

+

+    y - Replace the text at this instance and search for more items

+    n - Skip this instance and search for more items

+    . or Enter - Stop replacing text (You can also use C-g)

+    ! - Replace all the instances without prompting at each one.

+

+Cut/Copy/Paste Text

+-------------------

+

+As explained above, you can cut regions using C-k to kill multiple lines. To

+paste the text that you just cut, simply move your cursor to the point and

+then type C-y to restore the text. You may type C-y multiple times to
restore

+the text. Hence, to copy text, you can use C-k to kill all the lines, use
C-y

+to restore it immediately, then move to the region you want to copy it to
and

+then type C-y again to restore the last cut again.

+

+Another way to cut or copy chunks of text is to first position your cursor
at

+the starting point of the chunk of text. Then type C-space to mark this as
the

+starting point to cut or copy. Then move the cursor to the end point of the

+text chunk that you wish to manipulate. Then type C-w to cut the region, or

+M-w to copy the region. If you wish to cancel marking a block of text,
simply

+type C-g to cancel the operation.

+

+To paste the region that you've cut or copied above, simply move your cursor

+to the desired location and then type C-y to paste it.

+

+Status Line

+-----------

+

+At the bottom of your screen is a reverse highlighted line. This is the
status

+line and lets you know some useful information about the file you're
editing.

+

+On the status line, you should see "Mg: tutorial". This lets you know that

+you're editing a file named "tutorial". If you've edited this file and not

+saved it, it should have a "**" to the left of those words. If this file is

+read-only, you should see a "%%" to the left of those words.

+

+To the right of the status line, you should see L followed by digits and C

+followed by some more digits. These indicate the line number and column
number

+of the file that your cursor is currently on. If you move the cursor around,

+you should see the line and column number change.

+

+In the middle of the screen, you should see the word "(fundamental)" which

+indicates that the current editing mode is "fundamental-mode". The mg editor

+also supports a c-mode that is more suited to editing C code. There are also

+some other useful editing modes for different situations. See the man pages

+for mg(1) determine how to change editing modes.



-FILES

+Files

 -----



-In order to make the text you edit permanent, you must put it in a

-file.  Otherwise, it will go away when your invocation of Emacs goes

-away.  You put your editing in a file by "finding" the file.  What

-finding means is that you see the contents of the file in your Emacs;

-and, loosely speaking, what you are editing is the file itself.

-However, the changes still don't become permanent until you "save" the

-file.  This is so you can have control to avoid leaving a half-changed

-file around when you don't want to.

-

-If you look near the bottom of the screen you will see a line that

-begins and ends with dashes, and contains the string:

-     "Mg: TUTORIAL"

-Your copy of the Emacs tutorial is called "TUTORIAL".  Whatever

-file you find, that file's name will appear in that precise

-spot.

-

-The commands for finding and saving files are unlike the other

-commands you have learned in that they consist of two characters.

-They both start with the character Control-x.  There is a whole series

-of commands that start with Control-x; many of them have to do with

-files, buffers, and related things, and all of them consist of

-Control-x followed by some other character.

-

-Another thing about the command for finding a file is that you have

-to say what file name you want.  We say the command "reads an argument

-from the terminal" (in this case, the argument is the name of the

-file).  After you type the command

-

-    C-x C-f   Find a file

-

-Emacs asks you to type the file name.  It echoes on the bottom line of

-the screen.  When you type <Return> to end the file name it disappears.

-

->> Type C-x C-f, then type C-g.  This cancels the  C-x C-f command

-   that was using the minibuffer.  So you do not find any file.

-

-In a little while the file contents appear on the screen.  You can

-edit the contents.  When you wish to make the changes permanent,

-issue the command

-

-    C-x C-s   Save the file

-

-The contents of Emacs are written into the file.

-

-When saving is finished, Emacs prints the name of the file written.

-You should save fairly often, so that you will not lose very much

-work if the system should crash.

-

->> Type C-x C-s, saving your copy of the tutorial.

-   This should print "Wrote TUTORIAL" at the bottom of the screen.

-

-To make a new file, just find it "as if" it already existed.  Then

-start typing in the text.  When you ask to "save" the file, Emacs

-will really create the file with the text that you have inserted.

->From then on, you can consider yourself to be editing an already

-existing file.

+To open a new file, you can use C-x C-f. You will then be prompted to open

+a file. You can type the name of the file you wish to open, and use the TAB

+key for autocompleting file names. If you type a file name that does not

+already exist, a new file will be opened for you.

+

+NOTE: If you type C-x f instead of C-x C-f, you can use C-g to cancel the

+Set-Fill-Column command. You can also use C-g to cancel the C-x C-f command

+if you don't wish to open a new file.

+

+To save the file once you've edited it, use C-x C-s to save the file. When

+mg is done saving the file, you should see the words "Wrote /path/to/file"

+in the bottom of your screen. In general, it is a good idea to save quite

+often. When you save a file, mg saves a backup of the file with a tilde (~)

+character at the end.



-

-BUFFERS

+Buffers

 -------



-If you find a second file with C-x C-f, the first file remains inside

-Emacs.  This way you can get quite a number of files inside Emacs.

-

-The object inside Emacs which holds the text read from one file

-is called a "buffer."  Finding a file makes a new buffer inside Emacs.

-To see a list of the buffers that exist in Emacs, type

-

-    C-x C-b   List buffers

-

->> Try C-x C-b now.

-

-See how each buffer has a name, and it may also have a file name

-for the file whose contents it holds.  Some buffers do not correspond

-to files.  For example, the buffer named "*Buffer List*" does

-not have any file.  It is the buffer which contains the buffer

-list that was made by C-x C-b.  ANY text you see in an Emacs window

-has to be in some buffer.

-

->> Type C-x 1 to get rid of the buffer list.

-

-If you make changes to the text of one file, then find another file,

-this does not save the first file.  Its changes remain inside Emacs,

-in that file's buffer.  The creation or editing of the second file's

-buffer has no effect on the first file's buffer.  This is very useful,

-but it also means that you need a convenient way to save the first

-file's buffer.  It would be a nuisance to have to switch back to

-it with C-x C-f in order to save it with C-x C-s.  So we have

-

-    C-x s     Save some buffers

-

-C-x s goes through the list of all the buffers you have

-and finds the ones that contain files you have changed.

-For each such buffer, C-x s asks you whether to save it.

-

-

-EXTENDING THE COMMAND SET

--------------------------

-

-There are many, many more Emacs commands than could possibly be put

-on all the control and meta characters.  Emacs gets around this with

-the X (eXtend) command.  This comes in two flavors:

-

-    C-x    Character eXtend.  Followed by one character.

-    M-x    Named command eXtend.  Followed by a long name.

-

-These are commands that are generally useful but used less than the

-commands you have already learned about.  You have already seen two

-of them: the file commands C-x C-f to Find and C-x C-s to Save.

-Another example is the command to tell Emacs that you'd like to stop

-editing and get rid of Emacs.  The command to do this is C-x C-c.

-(Don't worry; it offers to save each changed file before it kills the

-Emacs.)

-

-C-z is the usual way to exit Emacs, because it is always better not to

-kill the Emacs if you are going to do any more editing.  On systems

-which allow it, C-z exits from Emacs to a CLI but does not destroy the

-Emacs; you can resume editing by ending that CLI or depth arranging.

-

-You would use C-x C-c if you were running out of memory.  You would

-also use it to exit an Emacs invoked under mail handling programs and

-other random utilities, since they may not believe you have really

-finished using the Emacs if it continues to exist.

-

-There are many C-x commands.  The ones you know are:

-

-    C-x C-f        Find file.

-    C-x C-s        Save file.

-    C-x C-b        List buffers.

-    C-x C-c        Quit Emacs.

-

-Named eXtended commands are commands which are used even less

-frequently, or commands which are used only in certain modes.  These

-commands are usually called "functions".  An example is the function

-replace-string, which globally replaces one string with another.  When

-you type M-x, Emacs prompts you at the bottom of the screen with

-M-x and you should type the name of the function you wish to call; in

-this case, "query-replace".  Just type "que<TAB>" and Emacs will

-complete the name.  End the command name with <Return>.

-Then type the two "arguments"--the string to be replaced, and the string

-to replace it with--each one ended with a Return.

-

->> Move the cursor to the blank line two lines below this one.

-   Then type M-x repl s<Return>changed<Return>altered<Return>.

-

-   Notice how this line has changed: you've replaced

-   the word c-h-a-n-g-e-d with "altered" wherever it occurred

-   after the cursor.

+The mg editor is capable of editing multiple files at the same time. When
you

+open a second file with C-x C-f, the first file is still being edited by mg.

+You can list all the buffers that are opened by mg by typing C-x C-b. The

+screen should divide into two and the top window will list the buffers that

+are currently open. Use C-x o to switch to the top window (we already
learned

+this key combination above in the Windows section) and then use the arrow
keys

+to move to the buffer you wish to switch to and then type the Enter key to

+select that buffer. Then use C-x 1 to switch back to only one window.

+

+You may also move back to the last opened buffer by using C-x b to toggle
back

+and forth between two buffers. Note the difference between C-x b and C-x
C-b.

+

+>> Use C-x C-f to open a new file

+>> Use C-x b to switch back and forth between that buffer and this one.

+

+To edit files in multiple windows, use C-x 2 to split the screen into two

+windows. Then use C-x C-f to open a new file in one of the two windows. You

+can then switch between the two windows using C-x o. You can switch between

+buffers in any window using C-x b. To go back to one window, use C-x 1.

+

+To kill any buffer, use C-x k. You will be prompted for the buffer to kill.

+By default, the current buffer is selected as the one to kill. You may also

+type another buffer name or use C-g to cancel the operation.



+Extended Commands

+-----------------



-MODE LINE

----------

-

-If Emacs sees that you are typing commands slowly it shows them to you

-at the bottom of the screen in an area called the "echo area."  The echo

-area contains the bottom line of the screen.  The line immediately above

-it is called the MODE LINE.  The mode line says something like

-

---**-Mg: TUTORIAL               (fundamental)------------------------

-

-This is a very useful "information" line.

-

-The stars near the front mean that you have made changes to the text.

-Right after you visit or save a file, there are no stars, just dashes.

-

-The part of the mode line inside the parentheses is to tell you what

-modes you are in.  The default mode is fundamental which is what you

-are in now.  It is an example of a "mode".  There are several modes in

-Emacs for editing different styles of text, such as indent, bsmap,

-fill, etc.  Each mode makes a few commands behave differently.

-

-One mode which is very useful, especially for editing English text, is

-Auto Fill mode.  When this mode is on, Emacs breaks the line in

-between words automatically whenever the line gets too long.  You can

-turn this mode on by doing M-x auto-fill-mode<Return>.  When the mode

-is on, you can turn it off by doing M-x auto-fill-mode<Return>.

-

->> Type M-x auto-fill-mode<Return> now.  Then insert a line of "asdf "

-   over again until you see it divide into two lines.  You must put in

-   spaces between them because Auto Fill breaks lines only at spaces.

-

-The margin is usually set at 70 characters, but you can change it

-with the C-x f command.  You should give the margin setting you want

-as a numeric argument.

-

->> Type C-x f with an argument of 20.  (C-u 2 0 C-x f).

-   Then type in some text and see Emacs fill lines of 20

-   characters with it.  Then set the margin back to 70 using

-   C-x f again.

-

-If you make changes in the middle of a paragraph, Auto Fill mode

-does not re-fill it for you.

-To re-fill the paragraph, type M-q (Meta-q) with the cursor inside

-that paragraph.

+The mg editor has several extended commands, more than what can be covered

+by the control and meta keys. The mg editor gets around this by using what
is

+called the X (eXtend) command. There are two forms of this:

+

+    C-x    Character eXtension. Followed by one character.

+    M-x    Named character eXtension. Followed by a long command.

+

+You've already seen C-x C-f and C-x C-s to open and save a file. There are

+other longer commands. For instance, you can also open a file by typing

+M-x open-file Enter. When you type a command using M-x, mg prompts you for

+the command at the bottom of the screen. You can type out the whole command

+if you wish, or you can type out part of the command and then use the TAB
key

+for autocompleting the command.



->> Move the cursor into the previous paragraph and type M-q.

+For instance, to replace text, you can type M-x repl TAB enter to execute

+the replace-text command. To cancel this command, type C-g.



-SEARCHING

----------

+To see a list of all available mg(1) commands, consult the man pages.



-Emacs can do searches for strings (these are groups of contiguous

-characters or words) either forward through the file or backward

-through it.  To search for the string means that you are trying to

-locate it somewhere in the file and have Emacs show you where the

-occurrences of the string exist.  This type of search is somewhat

-different from what you may be familiar with.  It is a search that is

-performed as you type in the thing to search for.  The command to

-initiate a search is C-s for forward search, and C-r for reverse

-search.  BUT WAIT!  Don't do them now.  When you type C-s you'll

-notice that the string "I-search" appears as a prompt in the echo

-area.  This tells you that Emacs is in what is called an incremental

-search waiting for you to type the thing that you want to search for.

-<ESC> terminates a search.

-

->> Now type C-s to start a search.  SLOWLY, one letter at a time,

-   type the word 'cursor', pausing after you type each

-   character to notice what happens to the cursor.

->> Type C-s to find the next occurrence of "cursor".

->> Now type <DEL> four times and see how the cursor moves.

->> Type <ESC> to terminate the search.

-

-Did you see what happened?  Emacs, in an incremental search, tries to

-go to the occurrence of the string that you've typed out so far.  To go

-to the next occurrence of 'cursor' just type C-s again.  If no such

-occurrence exists Emacs beeps and tells you that it is a failing

-search.  C-g would also terminate the search.

-

-If you are in the middle of an incremental search and type <DEL>,

-you'll notice that the last character in the search string is erased

-and the search backs up to the last place of the search.  For

-instance, suppose you currently have typed 'cu' and you see that your

-cursor is at the first occurrence of 'cu'.  If you now type <DEL>,

-the 'u' on the search line is erased and you'll be repositioned in the

-text to the occurrence of 'c' where the search took you before you

-typed the 'u'.  This provides a useful means for backing up while you

-are searching.

-

-If you are in the middle of a search and happen to type a control

-character (other than a C-s or C-r, which tell Emacs to search for the

-next occurrence of the string), the search is terminated.

-

-The C-s starts a search that looks for any occurrence of the search

-string AFTER the current cursor position.  But what if you want to

-search for something earlier in the text?  To do this, type C-r for

-Reverse search.  Everything that applies to C-s applies to C-r except

-that the direction of the search is reversed.

-

-If your incremental search fails and you type C-s or C-r again

-(without changing your search direction), Emacs will wrap the

-search around to the beginning (or end, if searching backwards) of

-the buffer and search from there.

-

-GETTING MORE HELP

------------------

+Exiting mg

+----------



-In this tutorial we have tried to supply just enough information to

-get you started using Emacs.  There is so much available in Emacs that

-it would be impossible to explain it all here.  However, you may want

-to learn more about Emacs since it has numerous desirable features

-that you don't know about yet.

+To exit mg temporarily and return to the shell, use C-z. This will take you

+back to the command shell. To return back to mg, type fg in the shell and
you

+will be returned to your mg session.



+To exit mg permanently, type C-x C-c. If you have any unsaved buffers, you

+will be asked if you wish to save them or not.



-CONCLUSION

+Conclusion

 ----------



-Remember, to exit Emacs permanently use C-x C-c.  To exit to a shell

-temporarily, so that you can come back in, use C-z.

-

-This tutorial is meant to be understandable to all new users, so if

-you found something unclear, don't sit and blame yourself - complain!

+This tutorial is meant to get new users up and running with mg. There is
more

+information available via the mg(1) man pages. If you have any suggestions
for

+improvement, please don't hesitate to drop a message or (better still)
submit

+a diff listing.



-

-COPYING

+History

 -------



-This tutorial, like all of GNU Emacs, is copyrighted, and comes with

-permission to distribute copies on certain conditions:

+The mg editor was based on MicroGnuEmacs, a stripped down version of the GNU

+Emacs editor. See the README file for differences from GNU Emacs and why mg

+exists. Also see the other files accompanying mg for more system specific

+information.

+

+This tutorial was written based on a similar tutorial written for GNU Emacs

+by Richard M. Stallman.



-Copyright (c) 1985 Richard M. Stallman

+Author of this document: Mayukh Bose,

+Date last updated: 2008-07-27



-   Permission is granted to anyone to make or distribute verbatim copies

-   of this document as received, in any medium, provided that the

-   copyright notice and permission notice are preserved,

-   and that the distributor grants the recipient permission

-   for further redistribution as permitted by this notice.

-

-   Permission is granted to distribute modified versions

-   of this document, or of portions of it,

-   under the above conditions, provided also that they

-   carry prominent notices stating who last altered them.

-

-The conditions for copying Emacs itself are slightly different

-but in the same spirit.  Please read the file COPYING and then

-do give copies of GNU Emacs to your friends.

-Help stamp out ownership of software by using, writing,

-and sharing free software!

-

-Mg itself is public domain, and may be given away freely.  See the

-README file about differences from GNU emacs, and why Mg exists.

-

-****************************************************************************
***

-***        This document heavily cut by Randy M. Spencer to apply to
***

-***      Mg written my Mike Meyer and gang.  It was released            ***

-***      at the AAA users group meeting in Lafayette CA, an Amiga Users
***

-***      Group.  My profound thanks to Richard Stallman for his work, I
***

-***      am proud to carry his initials.
***

-***     Additional modifications were done by Robert A. Larson for Mg
***

-***     version 2a, mainly the name change from MicroGnuEmacs to Mg.
***

-****************************************************************************
***

+Copyright

+---------



-See other files accompanying this for more system specific information.

+This document is in the public domain.

_________________________________________________________________
Stay in touch when you're away with Windows Live Messenger.
http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_messenge
r2_072008


<Prev in Thread] Current Thread [Next in Thread>