annotate etc/TUTORIAL @ 778:2923009caf47

[xemacs-hg @ 2002-03-16 10:38:59 by ben] cm.c, file-coding.c: fix warnings. .cvsignore: Those pesky *.tmp files. mule\arabic.el, mule\canna-leim.el, mule\china-util.el, mule\chinese.el, mule\cyril-util.el, mule\cyrillic.el, mule\devan-util.el, mule\devanagari.el, mule\english.el, mule\ethio-util.el, mule\ethiopic.el, mule\european.el, mule\greek.el, mule\hebrew.el, mule\indian.el, mule\japan-util.el, mule\japanese.el, mule\korea-util.el, mule\korean.el, mule\lao-util.el, mule\lao.el, mule\misc-lang.el, mule\mule-charset.el, mule\mule-cmds.el, mule\thai-util.el, mule\thai.el, mule\tibet-util.el, mule\tibetan.el, mule\viet-util.el, mule\vietnamese.el, unicode.el: Fix lots of warnings. Sync up some files to FSF 21.1. Copy over all charset definitions from FSF 21.1, convert them to our format, and stick them in the relevant files. Eventually we will actually be able to dump these files (though they may not quite work). autoload.el: Support defun*, defmacro*. mule/mule-composite.el, mule/mule-composite-stub.el: New file, stubs for nonexistent composition funs/vars. mule/viet-chars.el, dumped-lisp.el: Account for these changes. font.el, mouse.el, msw-font-menu.el, printer.el, startup.el: fix warnings.
author ben
date Sat, 16 Mar 2002 10:39:19 +0000
parents 943eaba38521
children 137460151b27
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1 You are looking at the XEmacs tutorial. See end for copyrights and conditions.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
3 XEmacs commands generally involve the CONTROL key (sometimes labeled
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
4 CTRL or CTL) or the META key. "META" is a traditional Emacs term; on
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
5 most keyboards, the key is labelled "Alt". (On Sun keyboards, the META
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
6 key is labelled with a diamond, and is *NOT* the Alt key, which also
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
7 exists.) On some TTY's, there is no META key; in this case, use ESC.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
8 Rather than write out META or CONTROL each time we want you to prefix a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
9 character, we'll use the following abbreviations:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 C-<chr> means hold the CONTROL key while typing the character <chr>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 Thus, C-f would be: hold the CONTROL key and type f.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
13 M-<chr> means hold the META (i.e. Alt) key down while typing <chr>.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
14 (See above for Sun keyboards and TTY's.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
15
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
16 Important note: to end the XEmacs session, type C-x C-c. (Two characters.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
18 To move to the next screen, type <Next> (often labeled PgDn). On TTY's,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
19 you may not have such a key; use C-v instead. (Hold down the CONTROL key
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
20 while typing v.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
21
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
22 To move to the previous screen, type <Prior> (often labeled PgUp). On
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
23 TTY's, use M-v. (Remember, this means META + v; if you have no META or Alt
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
24 key that works, press and release ESC, then type v.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
25
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 The characters ">>" at the left margin indicate directions for you to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 try using a command. For instance:
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
28
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
29 >> Try typing <Next> and then <Prior>, a few times. (Or C-v and M-v,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
30 on TTY's.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
31
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
32 Note that there is an overlap of two lines when you move from screen to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
33 screen; this provides some continuity so you can continue reading the text.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
34
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
35 In general, every "cursor key" (the arrows and similar keys set off to the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
36 right side of the keyboard) has an equivalent binding that uses only the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
37 alphanumeric keys in combination with CONTROL and/or META, so that TTY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
38 users can use XEmacs.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
40 (In fact, in olden days, this "older way" was the only way to do things,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
41 and you will still often see references to these keys as the "recommended"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
42 way of doing things. We don't actually recommend that you use these older
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
43 bindings in preference to the more obvious cursor keys, since the cursor
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
44 keys are easier to remember and usually more convenient to use. However,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
45 it's useful to know the older bindings, either in case you ever use a TTY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
46 or so that you can make sense of references to them. From now on, we will
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
47 mention the TTY bindings in parentheses, and expect that TTY users will
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
48 subsitute them whenever we mention a cursor key.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
50 Now you may ask, what is a TTY? A TTY (or "TeleTYpe")is a text-only
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
51 connection, the kind you get when you use the "telnet" program to log into
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
52 a remote site. Up till 20 years ago or so, such text-only connections were
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
53 all that existed to communicate with a computer, usually via a "terminal"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
54 (a combination keyboard and monochrome screen) connected directly to a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
55 computer. Nowadays, such dedicated TTY's are increasingly rare, and most
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
56 people only run into them when using telnet. Emacs began in those olden
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
57 days, and it still carries some baggage from that time, but things have
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
58 greatly improved since then. Now, you are probably using XEmacs under MS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
59 Windows or X Windows, collectively termed a "window system".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 * SUMMARY
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 ---------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 The following commands are useful for viewing screenfuls:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
67 <Next> Move forward one screenful (C-v on TTY's)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
68 <Prior> Move backward one screenful (M-v on TTY's)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
69 C-l Clear frame and redisplay all the text,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
70 moving the text around the cursor
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
71 to the center of the window.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
72 (That's CONTROL-L, not CONTROL-1.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 >> Find the cursor, and note what text is near it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 Then type C-l.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 Find the cursor again and notice that the same text
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 is near the cursor now.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
80 * SOME TERMINOLOGY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
81 ------------------
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
82
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
83 All aspects of computers have terminology associated with them, and until
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
84 you master the terminology, things can seem overwhelming. To add to this,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
85 however, XEmacs has its own terminology, some of which of course includes
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
86 terms for concepts new to XEmacs. Some XEmacs terminology, however, is
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
87 just nonstandard terms for familiar objects and concepts. (This is because
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
88 Emacs began a long time ago, when many standard things in today's computers
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
89 didn't exist, and others that did exist had different names.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
90
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
91 To make things easier for you, the most common XEmacs terms that you will
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
92 find in this tutorial are defined here, even though some have already been
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
93 defined above and others aren't discussed in detail until later. This way,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
94 if you come across an unfamiliar term, you know exactly where to look to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
95 find the definition. Don't worry if you don't understand all the terms; if
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
96 you keep reading the tutorial, eventually all the terms will be explained
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
97 in detail.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
98
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
99 Term Definition
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
100 --------------------------
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
101 C- A keystroke involving the CONTROL key. C-k is sometimes
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
102 indicated as CONTROL + k or (not in XEmacs) ^K, and means
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
103 to hold down the CONTROL key and hit the k key.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
104 Info The name of XEmacs' online documentation, accessed through
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
105 C-h i.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
106 M- A keystroke involving the META key. See META.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
107 META An abstract name for a particular modifier key, which has
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
108 different correspondences depending on your keyboard. On
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
109 most keyboards, META is the Alt key, but on Sun keyboards it's
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
110 a key labelled with a diamond, and *NOT* the Alt key, which
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
111 also exists. META can also be simulated by pressing ESC before
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
112 the other key, but in reality this is just two separate keys,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
113 not a modifier plus a key: If you want to do M-f M-f, normally
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
114 you can hold down (e.g.) Alt, hit f twice, and release the Alt,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
115 but when using ESC as META, you'd have to type ESC f ESC f.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
116 TTY A text-only connection to a computer, such as when you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
117 telnet into a machine. See the previous section for more
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
118 explanation.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
119 binding The command that's bound to a particular key sequence; you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
120 can find out what the binding is and how the command works
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
121 using C-h k; it's also possible to change the bindings of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
122 key sequences, but this isn't discussed in the tutorial
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
123 buffer A block of memory holding some text, such as the text of a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
124 file, email message, list of files in a directory, etc. All
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
125 visible windows are always displaying the text of some buffer,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
126 and more than one window can be displaying the same buffer.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
127 In this case, each buffer has a different value for point
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
128 (see definition).
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
129 cursor A block or bar showing where in the text the current insertion
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
130 point is.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
131 cursor key Any of the keys used for moving the cursor, such as the arrow
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
132 keys, <Next> and <Prior> (often labelled PgUp and PgDn),
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
133 <Home> and <End>, etc. Usually set off to the right of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
134 main part of the keyboard, often painted gray.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
135 echo area A one-line area at the bottom of the frame where messages are
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
136 output. It shares the same space as the minibuffer, which
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
137 works because the minibuffer is not active most of the time
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
138 and is active only for short intervals. (Even then, if a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
139 message needs to be displayed, the minibuffer will temporarily
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
140 disappear, the message will be displayed, and then the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
141 minibuffer will appear again in a few seconds.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
142 frame Same as what's standardly called a "window" in a window system.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
143 TTY's only have one visible frame, but it's possible to create
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
144 others and switch between them (sort of like if, in a window
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
145 system, all your windows were maximized to take up the whole
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
146 screen, so you could only see one at once).
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
147 isearch Incremental search. An Emacs invention that is a special,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
148 extra-efficient way of searching. Each time you type a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
149 character in a search string, XEmacs immediately finds the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
150 next match for what you've typed so far. This way, you avoid
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
151 typing more keys than necessary to find what you're looking
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
152 for.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
153 key sequence A sequence of one or more keystrokes that together make a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
154 command. C-x C-f, C-x 5 0, C-l, and <Next> are all key
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
155 sequences. See also "binding".
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
156 keystroke A combination of a key and a modifier (e.g. CONTROL, SHIFT,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
157 META).
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
158 kill Standardly known as "cut". Remove text and remember it, so
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
159 that it can be "yanked" (standardly, "pasted") later. Multiple
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
160 "kills" are remembered, not only the most recent, and can be
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
161 accessed using M-y. "kill" is also sometimes used in general
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
162 to refer to deleting anything other than text, e.g. buffers,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
163 toolbar items, local variables, subprocesses, abbrevations,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
164 or to terminating the XEmacs process.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
165 minibuffer A small buffer (usually one line, but it may expand as
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
166 necessary) at the bottom of the frame, used when commands need
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
167 input such as file names.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
168 modeline A status line, near the bottom of a window, showing the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
169 current file being edited, the current mode, the line number,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
170 etc. (If you split a frame into two windows, you get two
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
171 modelines.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
172 point The location in the text where the cursor is. (Technically,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
173 the cursor is *BETWEEN* two text characters, not on one.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
174 This is most obvious when you use the bar cursor.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
175 prefix argument An extra piece of information typed just before a command to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
176 be executed, which changes how the command works. Prefix
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
177 arguments typically come in two types: Numeric arguments,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
178 which specify repeat counts, screen lines to move to, etc.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
179 are are specified using META plus a number before a command;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
180 and flag arguments, which are just simple yes/no-type
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
181 indications to do something differently (e.g. put point at
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
182 the beginning of inserted text rather than at the end) and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
183 are specified using C-u before the command.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
184 recursive edit Used when you are in the middle of executing a long command
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
185 (e.g. a search and replace), and want to temporarily make
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
186 an edit to some text. Indicated with brackets around the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
187 mode name. It's unlikely you'll use this much, if at all,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
188 but it's useful to know how to get out if you accidentally
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
189 get into this mode: use ESC ESC.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
190 screen The totality of everything that can be seen on the display.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
191 Also used in some expressions: "on/off the screen" means
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
192 currently visible or invisible. A "screenful" is the amount
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
193 of text in a particular window that can be viewed at one time.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
194 window Non-overlapping division of a frame, standardly called a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
195 "pane". Most often, there is only one window in a frame, and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
196 then the two terms become essentially synonymous. (Technically,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
197 however, the window includes the modeline below it but not
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
198 the minibuffer.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
199 yank Standardly known as "paste". Insert text that was previously
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
200 removed and remembered, a process known as "killing", or more
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
201 standardly "cutting".
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
202
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
203
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 * BASIC CURSOR CONTROL
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 ----------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
207 The first thing that you need to know is how to move around from place
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
208 to place in the text. You already know how to move forward and backward
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
209 one screen, but how do you move to a specific place within the text on
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
210 the screen?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 There are several ways you can do this. The most basic way is to use
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
213 the arrow keys, which we refer to as <Left>, <Right>, <Up>, and <Down>.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
214 Each of these commands moves the cursor one row or column in a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
215 particular direction on the screen.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
216
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
217 On a TTY, the arrow keys should, hopefully, work the same, but they
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
218 might not, since TTY's are easy to misconfigure. As mentioned above,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
219 for all cursor-key bindings, there are equivalent alphanumeric ones. In
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
220 this case, the bindings are unfortunately not at all obvious, since they
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
221 were chosen mnemonically and not visually. Here is a table showing the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
222 TTY bindings:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 Previous line, C-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 Backward, C-b .... Current cursor position .... Forward, C-f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 Next line, C-n
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
232 >> Move the cursor to the line in the middle of that diagram using <Down>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
233 or <Up>. Then type C-l to see the whole diagram centered in the window.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
234 (Remember, TTY users should substitute the appropriate bindings whenever
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
235 necessary. In this case, use C-n and C-p.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
237 Note the mnemonic significance of the TTY bindings: P for previous, N
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
238 for next, B for backward and F for forward. If you're on a TTY, you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
239 really should spend some time now etching these cursor bindings into
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
240 your brain. These cursor positioning commands are the most fundamental
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
241 way to move around and you'll be using them ALL the time, so you will be
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
242 completely lost without them.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
243
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
244 Even if you are on a window system and are not forced to learn these
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
245 bindings, you should try to memorize at least these four commands and in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
246 particular their associated words, since variations on them show up in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
247 many different keyboard commands, and knowing what they stand for can be
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
248 of tremendous help.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
250
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
251 >> Do a few <Down>'s to bring the cursor down to this line.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
253 >> Move into the line with <Right>'s and then up with <Up>'s.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
254 See what <Up> does when the cursor is in the middle of the line.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
256 The location of the cursor in the text is also called "point". You will
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
257 often see such references to "point" in the documentation, so remember
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
258 this term.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
260 Each line of text ends with a Newline character, which serves to separate
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
261 it from the following line. The last line in your file ought to have a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
262 Newline at the end. XEmacs does not normally require it to have one, but
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
263 you can change this -- see the menu entry "Options->Editing->Newline at End
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
264 of File...". (More on menu entries later.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
265
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
266 >> Try to <Left> at the beginning of a line. It should move to
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 the end of the previous line. This is because it moves back
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 across the Newline character.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
270 <Right> can move across a Newline just like <Left>.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
272 >> Do a few more <Left>'s, so you get a feel for where the cursor is.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
273 Then do <Right>'s to return to the end of the line.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
274 Then do one more <Right> to move to the following line.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
276 When you move past the top or bottom of the window, the text beyond
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 the edge shifts onto the screen. This is called "scrolling". It
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
278 enables XEmacs to move the cursor to the specified place in the text
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 without moving it off the screen.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
281 >> Try to move the cursor off the bottom of the window with <Down>, and
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 see what happens.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
284 If moving by characters is too slow, you can move by words. C-<Right>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
285 (CONTROL + right-arrow key) moves forward a word and C-<Left> moves back a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
286 word. On TTY's, use M-f instead of C-<Right> and M-p instead of C-<Left>.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
288 >> Type a few C-<Right>'s and C-<Left>'s.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
290 When you are in the middle of a word, C-<Right> moves to the end of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
291 word. When you are in whitespace between words, C-<Right> moves to the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
292 end of the following word. C-<Left> works likewise in the opposite
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
293 direction.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
295 >> Type C-<Right> and C-<Left> a few times, interspersed with <Right>'s and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
296 <Left>'s so that you can observe the action of C-<Right> and C-<Left>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
297 from various places inside and between words.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
299 Notice the parallel between <Right> and <Left> on the one hand, and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
300 C-<Right> and C-<Left> on the other hand. Also notice the parallel
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
301 between C-f and C-p on the one hand, and M-f and M-p on the other hand.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
302 XEmacs tries fairly hard to maintain parallelism in keyboard commands to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
303 make them easier to remember, and generally adding CONTROL or META to an
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
304 operation makes it "more so". META goes beyond CONTROL, often making
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
305 the units of movement less basic in the process -- words vs. characters,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
306 balanced parenthetical expressions vs. words, or sentences vs. lines.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
308 Other important cursor motion commands are <Home> and <End> (beginning
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
309 and end of the line), and C-<Home> and C-<End> (beginning and end of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
310 whole text). Note again the parallelism just mentioned.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
312 On TTY's, use C-a and C-e for beginning and end of line, and M-< and M->
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
313 for beginning and end of text. (If it helps, think of A as the first
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
314 letter of the alphabet, and E as standing for "end".) Note that the <
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
315 and > chars (Less-than and Greater-than) are above the comma and period
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
316 on most keyboards, so you'll have to use the SHIFT key in conjunction
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
317 with META. If you have no META, the order is very important: Type ESC
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
318 first, then type < or >.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
320 >> Move the cursor to this line, then try <Home> and <End> a few times.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
322 >> (Read this entire entry before doing anything!) Try C-<Home> now, to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
323 move to the beginning of the tutorial. Then use <Next> repeatedly to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
324 move back here.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 >> Try all of these commands now a few times for practice.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 These are the most often used commands.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
329 Here is a summary of simple cursor-moving operations. Don't worry if you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
330 can't remember everything; you can always move back to this table for
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
331 reference.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
332
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
333 KEYSTROKE: SEQUENCE TTY:
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
334
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
335 <Prior> (PgUp) Move backward a screen M-v
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
336 <Next> (PgDn) Move forward a screen C-v
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
338 <Left> Move backward a character C-b
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
339 <Right> Move forward a character C-f
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
340
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
341 C-<Left> Move backward a word M-b
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
342 C-<Right> Move forward a word M-f
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
344 <Up> Move to previous line C-p
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
345 <Down> Move to next line C-n
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
347 C-<Up> Move 6 lines up
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
348 C-<Down> Move 6 lines down
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
350 <Home> Move to beginning of line C-a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
351 <End> Move to end of line C-e
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
352
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
353 C-<Home> Move to beginning of text M-<
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
354 C-<End> Move to end of text M->
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
355
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
356
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
357 * PREFIX ARGUMENTS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
358 ------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
360 Most XEmacs commands accept a numeric argument; for most commands, this
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
361 serves as a repeat-count. The way you give a command a repeat count is
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
362 by holding down the META key while typing the digits. You really only
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
363 need to hold down META for the first digit; for this reason, an
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
364 alternative method is to simply hit the ESC key once, then type the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
365 digits. (This latter method works on TTY's as well.) The numeric
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
366 argument is also called a "prefix argument", because you type the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
367 argument before the command it applies to.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
369 For instance, M-8 <Right> moves forward eight characters.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
371 >> Try using <Down> or <Up> with a numeric argument, to move the cursor
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 to a line near this one with just one command.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
374 Sometimes, commands use the term "prefix argument" to refer not to a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
375 numeric argument, but to just a flag that makes the command do something
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
376 different if given. (We haven't encountered any such commands so far.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
377 For such commands, the flag is normally given by typing C-u before the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
378 command, but generally you can also specify any numeric argument -- the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
379 actual number makes no difference.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
381
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
382 * SCROLLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
383 ------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
385 Unless you are on a TTY, there is probably a rectangular area called a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
386 scroll bar at the right hand side of the XEmacs window. You can scroll the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
387 text by manipulating the scrollbar with the mouse.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
389 The scrollbar has a button in the middle of it, called a thumb. The
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
390 relative position of this thumb within the rectangle indicates where you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
391 are within the file. As you scroll up or down with the cursor keys, the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
392 thumb will follow.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
394 >> Try holding down the left button on the thumb and moving the mouse up
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
395 and down. You'll see that the text scrolls up and down as you move the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
396 mouse. (NOTE: Some scrollbars, such as the Athena scrollbars under X
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
397 Windows, work differently. On these, you will have to use the middle
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
398 button, not the left one.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
400 >> Try clicking the left button in the area above the thumb. This should
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
401 scroll the text up by a screenful. Similarly, clicking the button below
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
402 the thumb will scroll down by a screenful. (NOTE: Under Athena, things
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
403 work differently.) Holding the button down will cause the text to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
404 repeatedly scroll by a screenful.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
405
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
406 >> Most scrollbars have arrows at the top and bottom of the rectangle.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
407 Clicking on these will scroll the text up or down by a line, and holding
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
408 the button down will cause the text to repeatedly scroll by a line.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
411 * USING THE MENU
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
412 ----------------
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
413
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
414 Unless you are on a TTY, you will notice a menubar at the top of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
415 XEmacs frame. You can use this menubar to access all the most common
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
416 XEmacs commands, such as "open a file". You will find this easier at
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
417 first, because you don't need to remember the keystrokes necessary to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
418 access any particular command. Once you are comfortable with XEmacs, it
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
419 will be easy to begin using the keyboard commands because each menu item
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
420 with a corresponding keyboard command has the command listed next to it.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
421
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
422 Note that there are many items in the menubar that have no exact
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
423 keyboard equivalents. For example, the Buffers menu lists all of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
424 available buffers in most-recently used order. You can switch to any
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
425 buffer by simply findings its name in the Buffers menu and selecting it.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
426
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
427 You can also configure XEmacs so that you can use the META key to access
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
428 menu items -- the "accelerator" functionality that is standard under MS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
429 Windows. One easy way to do this in XEmacs is using the menu item
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
430 "Options->Menubars->Alt/Meta Selects Menu Items".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
432 When this feature is on, you can select a menu or menu item using the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
433 combination of META (i.e. Alt) plus the underlined letter of the menu item.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
434 For example, to exit XEmacs, use M-f M-x. We currently don't turn this on
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
435 by default because it interferes with the traditional usage of META in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
436 XEmacs. However, we may do this in the future: Only commands for which
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
437 there are top-level menus are shadowed by accelerator bindings, and for all
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
438 those commands, there are equivalents either using cursor keys or on the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
439 menus.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
440
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
441 When we mention a menu selection, it will be specified as just shown --
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
442 i.e. a string, with an arrow ("->") separating different submenus or items.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
443 In this case, the menu entry just mentioned means "Click the Options menu
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
444 on the menubar, then the Menubars submenu, the the entry off of that
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
445 labeled "Alt/Meta Selects Menu Items". In general, XEmacs is highly
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
446 customizable, and one of the easiest ways to make such customizations is
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
447 through the Options menu.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
448
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
449 IMPORTANT: If you want a change on the Options menu to last beyond the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
450 current XEmacs session, use "Options->Save Options to Init File". This
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
451 way, it will be permanent. Otherwise, all Options changes made in the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
452 current session will be lost.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
455 * WHEN XEMACS IS HUNG OR IN SOME STRANGE MODE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
456 ---------------------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
458 If XEmacs stops responding to your commands, you can stop it safely by
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459 typing C-g. You can use C-g to stop a command which is taking too
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460 long to execute.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462 You can also use C-g to discard a numeric argument or the beginning of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463 a command that you do not want to finish.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
464
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
465 >> Type M-100 to make a numeric arg of 100 (remember, this means hold
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
466 down META and type 100, or type ESC 1 0 0), then type C-g. Now type
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
467 <Right>. It should move just one character, because you canceled the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
468 argument with C-g.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
470 If XEmacs is in some strange mode and C-g isn't getting out of it, you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
471 can use the all-purpose escape mechanism: ESC ESC. (On TTY's, you have
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
472 to use ESC ESC ESC. The reasons for this are a bit complicated.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
473
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
474 Hitting ESC ESC will get you out of almost any weird mode, including
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
475 selected text, split windows, the minibuffer, recursive edits, "stranded
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
476 minibuffer requests", and the like. If you have many problems at once,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
477 each invokation of ESC ESC will get rid of one, so keep repeating until
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
478 everything's fixed. REMEMBER: ESC ESC does not work if XEmacs is hung
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
479 doing some time-consuming operation or running broken code. Use C-g for
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
480 that.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
482
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
483 * DISABLED COMMANDS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
484 -------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
485
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
486 Some XEmacs commands are "disabled" so that beginning users cannot use
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
487 them by accident.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
488
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
489 If you type one of the disabled commands, XEmacs displays a message
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
490 saying what the command was, and asking you whether you want to go
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
491 ahead and execute the command.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
492
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
493 If you really want to try the command, type <Space> in answer to the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
494 question. Normally, if you do not want to execute the disabled
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
495 command, answer the question with "n".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
496
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
497 >> Type `C-x n p' (which is a disabled command),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
498 then type n to answer the question.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
500
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
501 * "WINDOWS", I.E. PANES
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
502 -----------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
504 XEmacs can have several panes (i.e. non-overlapping divisions of a window
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
505 or a TTY screen), each displaying its own text. For historical reasons,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
506 these panes are called "windows", and what we normally think of as a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
507 window is called a "frame". XEmacs can also have multiple "frames"; this
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
508 is described later. From now on, we omit the quotes around the XEmacs
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
509 terms, and if we need to use "window" in the standard sense, we will say
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
510 "window-system window".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
512 At this stage it is better not to go too deeply into the techniques of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
513 using multiple windows. But you do need to know how to get rid of extra
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
514 windows that may appear to display help or output from certain commands.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
515 Most of the time, your cursor will be in the new window; if this is the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
516 case, simply type q. Alternatively, you can type
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
518 C-x 0 Delete window.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
519
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
520 That is, CONTROL-x followed by the digit 0. This command is unlike the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
521 other commands you have learned in that it consists of two characters. It
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
522 starts with the character CONTROL-x. There is a whole series of commands
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
523 that start with CONTROL-x; many of them have to do with windows, files,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
524 buffers, and related things. These commands are two, three or four
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
525 characters long.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
526
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
527 >> Move the cursor to this line and type M-0 C-l.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
528 (That's a zero, not an Oh.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
529 >> Type CONTROL-h k CONTROL-f.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
530 See how this window shrinks, while a new one appears
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
531 to display documentation on the CONTROL-f command.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
532
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
533 >> Type q and see the documentation listing window disappear.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
534
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
535 (Remember that C-l redraws the frame. If you give a numeric argument to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
536 this command, it means "redraw the frame and put the current line that
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
537 many lines from the top of the window." So M-0 C-l means "redraw the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
538 frame, putting the current line at the top.")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
539
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
540
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
541 * INSERTING AND DELETING
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
542 ------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
544 If you want to insert text, just type the text. Characters which you can
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
545 see, such as A, 7, *, etc. are taken by XEmacs as text and inserted
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
546 immediately. Type <Return> (the carriage-return key) to insert a Newline
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
547 character.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
548
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
549 You can delete the last character you typed by typing <Backspace>.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
550 <Backspace> is a key on the keyboard, which may be labeled simply with a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
551 left arrow sign.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
553 (NOTE: On a few misconfigured TTY's, typing <Backspace> may try to invoke
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
554 the help system; the symptom of this is a line like "C-h (Type ? for
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
555 further options)" at the bottom of the frame. If this is the case, type
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
556 C-g to get out of this, and try using <Delete> from now on in place of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
557 <Backspace>.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
558
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
559 More generally, <Backspace> deletes the character immediately before the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
560 current cursor position.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562 >> Do this now--type a few characters, then delete them
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
563 by typing <Backspace> a few times. Don't worry about this file
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
564 being changed; you will not alter the master tutorial. This is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
565 your personal copy of it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
566
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
567 When a line of text gets too big for one line on the window, the line of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
568 text is "continued" onto a second window line. An arrow at the right
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
569 margin that hooks down and to the left (or a backslash ("\") on TTY's)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
570 indicates a line which has been continued.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
571
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
572 >> Insert text until you reach the right margin, and keep on inserting.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
573 You'll see a continuation line appear.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
574
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
575 >> Use <Backspace>s to delete the text until the line fits on one window
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
576 line again. The continuation line goes away.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
577
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
578 You can delete a Newline character just like any other character.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
579 Deleting the Newline character between two lines merges them into
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
580 one line. If the resulting combined line is too long to fit in the
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
581 window width, it will be displayed with a continuation line.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
582
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
583 >> Move the cursor to the beginning of a line and type <Backspace>. This
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
584 merges that line with the previous line.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
585
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
586 >> Type <Return> to reinsert the Newline you deleted.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
587
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
588 Remember that most XEmacs commands can be given a repeat count;
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
589 this includes text characters. Repeating a text character inserts
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
590 it several times.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
592 >> Try that now -- type M-8 * to insert ********.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
593
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
594 You've now learned the most basic way of typing something in
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
595 XEmacs and correcting errors. You can delete by words or lines
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
596 as well. Here is a summary of the delete operations:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
597
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
598 <Backspace> delete the character just before the cursor
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
599 <Delete> delete the next character after the cursor
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
600 C-d same as <Delete> but works on TTY's
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
601
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
602 M-<Backspace> cut ("kill") the word immediately before the cursor
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
603 M-<Delete> cut ("kill") the next word after the cursor
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
604 M-d same as M-<Delete> but works on TTY's
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
605
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
606 C-k cut ("kill") from the cursor position to end of line
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
607 M-k cut ("kill") to the end of the current sentence
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
608
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
609 Notice again the parallelism with no modifier vs. CONTROL vs. META that
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
610 was mentioned earlier -- although the parallels are not perfect.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
611
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
612 (In the violent old days when Emacs first began, removing text that
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
613 could later be re-inserted was called "killing", and re-inserting was
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
614 called "yanking" -- evidently the designers of Emacs must have been
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
615 thinking of role-playing games, where killed characters could be easily
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
616 resurrected with the wave [yank?] of a magic wand. In the more genteel
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
617 [and realistic] times we live in, the preferred terms are "cut" and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
618 "paste".)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
619
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
620 You can also kill any part of the buffer with one uniform method. Under
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
621 window systems, the preferred method is to move to one end of that part,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
622 hold the SHIFT key down, and use the cursor keys to move to the other
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
623 end. Then release the SHIFT key and type C-w. That kills all the text
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
624 between the two positions.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
625
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
626 An alternative method, which also works on TTY's, is to move to one end of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
627 the text, and type C-@ or C-<Space> (either one).
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
628 Move to the other end and type C-w.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
630 >> Move the cursor to the A at the start of the previous paragraph.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
631 >> Hold the SHIFT key down.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
632 >> Move the cursor to the n in "end", on the third line of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
633 paragraph.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
634 >> Release the SHIFT key and type C-w. This will kill the text starting
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
635 from the A, and ending just before the n.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
636
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
637 Now try it the other way.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
638
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
639 >> Type C-/ to undo the killing, or C-_ or C-x u on TTY's.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
640 >> Move the cursor to the same A again.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
641 >> Type C-<Space>. XEmacs should display a message "Mark set"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
642 at the bottom of the frame.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
643 >> Move the cursor to the n in "end", on the third line of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
644 paragraph.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
645 >> Type C-w. You will get the same result as previously.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
646
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
647 The difference between "killing" and "deleting" is that "killed" text
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
648 can be reinserted, whereas "deleted" things cannot be reinserted.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
649 Reinsertion of killed text is called "yanking". Generally, the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
650 commands that can remove a lot of text kill the text (they set up so
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
651 that you can yank the text), while the commands that remove just one
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
652 character, or just blank lines and spaces, do deletion (so you cannot
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
653 yank that text).
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
654
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
655 Normally, on a window system "killing" text stores it internally but
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
656 also puts it on the clipboard, just like Cut in a word processor, and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
657 "yanking" takes text from the clipboard if available, just like Paste.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
658 (This connection to the clipboard can be turned off from the Options
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
659 menu.) There are also menu items, "Edit->Cut" and "Edit->Paste", that
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
660 always connect with the clipboard, and equivalent Cut and Paste keys on
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
661 Sun keyboards.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
662
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
663 >> Move the cursor to the beginning of a line which is not empty.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
664 Then type C-k to kill the text on that line.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
665 >> Type C-k a second time. You'll see that it kills the Newline
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
666 which follows that line.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
667
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
668 Note that a single C-k kills the contents of the line, and a second
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
669 C-k kills the line itself, and makes all the other lines move up. C-k
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
670 treats a numeric argument specially: it kills that many lines AND
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
671 their contents. This is not mere repetition. M-2 C-k kills two
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
672 lines and their newlines; typing C-k twice would not do that.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
673
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
674 Bringing back killed text is called "yanking". (Think of it as
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
675 yanking back, or pulling back, some text that was taken away.) You
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
676 can yank the killed text either at the same place where it was killed,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
677 or at some other place in the buffer, or even in a different file.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
678 You can yank the text several times, which makes multiple copies of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
679 it.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
680
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
681 The command for yanking is C-y. It reinserts the last killed text,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
682 after the current cursor position.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
683
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
684 >> Try it; type C-y to yank the text back.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
685
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
686 If you do several C-k's in a row, all of the killed text is saved
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
687 together, so that one C-y will yank all of the lines at once.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
688
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
689 >> Do this now, type C-k several times.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
690
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
691 Now to retrieve that killed text:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
692
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
693 >> Type C-y. Then move the cursor down a few lines and type C-y
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
694 again. You now see how to copy some text.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
695
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
696 What do you do if you have some text you want to yank back, and then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
697 you kill something else? C-y would yank the more recent kill. But
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
698 the previous text is not lost. You can get back to it using the M-y
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
699 command. After you have done C-y to get the most recent kill, typing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
700 M-y replaces that yanked text with the previous kill. Typing M-y
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
701 again and again brings in earlier and earlier kills. When you have
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
702 reached the text you are looking for, you do not have to do anything to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
703 keep it. Just go on with your editing, leaving the yanked text where
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
704 it is.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
705
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
706 If you M-y enough times, you come back to the starting point (the most
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
707 recent kill).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
708
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
709 >> Kill a line, move around, kill another line.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
710 Then do C-y to get back the second killed line.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
711 Then do M-y and it will be replaced by the first killed line.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
712 Do more M-y's and see what you get. Keep doing them until
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
713 the second kill line comes back, and then a few more.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
714 If you like, you can try giving M-y positive and negative
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
715 arguments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
716
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
717
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
718 * UNDO
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
719 ------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
720
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
721 If you make a change to the text, and then decide that it was a mistake,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
722 you can undo the change with the undo command, C-/. (On TTY's, use C-_,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
723 i.e. CONTROL + underscore, which is normally above the minus sign;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
724 i.e. you will have to hold the SHIFT key down, as in CONTROL + SHIFT +
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
725 minus. If that doesn't work, you can fall back to C-x u; but that has
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
726 the unfortunate property that it's difficult to execute several times in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
727 a row.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
729 Normally, C-/ undoes the changes made by one command; if you repeat
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
730 the C-/ several times in a row, each repetition undoes one
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
731 additional command.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
732
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
733 But there are two exceptions: commands that do not change the text do
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
734 not count (this includes cursor motion commands and scrolling
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
735 command), and self-inserting characters are usually handled in groups
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
736 of up to 20. (This is to reduce the number of C-/'s you have to
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
737 type to undo insertion of text.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
738
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
739 >> Kill this line with C-k, then type C-/ and it should reappear.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
740
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
741 A numeric argument to C-/ acts as a repeat count.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
742
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
743 If you change your mind and want to redo changes that you've undone,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
744 issue any command other than Undo (usually people move the cursor), and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
745 then start undoing again. This will undo your Undo changes; keep
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
746 hitting Undo, and you will eventually undo all the Undo's, and start
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
747 undoing your original changes. Essentially, XEmacs treats each Undo as
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
748 a further change, and records them for undoing just like regular
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
749 commands; but as long as you keeping issuing Undo commands directly
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
750 after previous ones, XEmacs remembers where you are in the Undo history
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
751 so it can keep undoing. Once you issue another command, XEmacs
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
752 "forgets" and resets its internal pointer to the end of the Undo
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
753 history. This may seem confusing, so try it out:
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
754
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
755 >> Type a line of text above this one.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
756 >> Move to the end of the line you just typed, and hit <Backspace>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
757 until you've deleted all characters.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
758 >> Type C-/ a number of times to undo some of your deletions.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
759 >> Move the cursor left.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
760 >> Start typing C-/ again, and it will redo your deletions until there's
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
761 no text left, then it will start undoing the original deletions.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
762 When all the text appears again, further C-/'s will undo the text you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
763 originally typed, in groups of up to 20 (see above).
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
764
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
765 As you just saw, you can undo deletion of text just as you can undo
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
766 killing of text. The distinction between killing something and deleting
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
767 it affects whether you can yank it with C-y; it makes no difference for
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
768 undo.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
769
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
770
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
771 * USING THE MOUSE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
772 -----------------
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
773
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
774 On window systems, XEmacs is fully integrated with the mouse. You can
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
775 position the text cursor by clicking the left button at the desired
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
776 location, and you can select text by dragging the left mouse button
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
777 across the text you want to select. (Or alternatively, click the left
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
778 mouse button at one end of the text, then move to the other end and use
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
779 Shift-click to select the text.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
780
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
781 The middle mouse button is commonly used to choose items that are
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
782 visible on the screen. For example, if you enter Info (the on-line
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
783 XEmacs documentation) using C-h i or the Help menu, you can follow a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
784 highlighted link by clicking the middle mouse button on it. Similarly,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
785 if you are typing a file name in (e.g. when prompted by "Find File") and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
786 you hit <Tab> to show the possible completions, you can click the middle
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
787 mouse button on one of the completions to select it. If you have a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
788 two-button mouse, such as some MS Windows systems, you can click both
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
789 buttons simultaneously to simulate the middle button.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
790
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
791 The right mouse button brings up a popup menu, called a "context menu"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
792 because the contents vary depending on what context you're in, such as
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
793 the mode of the window you click in or the text under the mouse. The
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
794 menu usually contains the commands most relevant to where you clicked,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
795 so they're easier to access.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
796
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
797 >> Press the right mouse button now.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
798
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
799 Under X Windows, you may have to hold the button down in order to keep
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
800 the menu up.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
801
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
802
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
803 * FILES
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
804 -------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
805
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
806 In order to make the text you edit permanent, you must put it in a
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
807 file. Otherwise, it will go away when your invocation of XEmacs goes
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
808 away. In order to put your text in a file, you must "find" the file
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
809 before you enter the text. (This is also called "visiting" the file.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
810
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
811 Finding a file means that you see the contents of the file within
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
812 XEmacs. In many ways, it is as if you were editing the file itself.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
813 However, the changes you make using XEmacs do not become permanent
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
814 until you "save" the file. This is so you can avoid leaving a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
815 half-changed file on the system when you do not want to. Even when
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
816 you save, XEmacs leaves the original file under a changed name in case
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
817 you later decide that your changes were a mistake.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
818
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
819 If you look near the bottom of the frame you will see a line that begins
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
820 and ends with dashes, and contains the string "XEmacs: TUTORIAL" or
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
821 something like that. This part of the frame normally shows the name of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
822 the file that you are visiting. Right now, you are visiting a file called
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
823 "TUTORIAL" which is your personal scratch copy of the XEmacs tutorial.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
824 When you find a file with XEmacs, that file's name will appear in that
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
825 precise spot.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
826
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
827 One special thing about the command for finding a file is that you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
828 have to say what file name you want. We say the command "reads an
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
829 argument from the terminal" (in this case, the argument is the name of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
830 the file). After you type the command
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
831
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
832 C-x C-f Find a file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
833
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
834 XEmacs asks you to type the file name. The file name you type appears
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
835 on the bottom line of the frame. The bottom line is called the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
836 minibuffer when it is used for this sort of input. You can use
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
837 ordinary XEmacs editing commands to edit the file name.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
838
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
839 While you are entering the file name (or any minibuffer input),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
840 you can cancel the command with C-g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
841
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
842 >> Type C-x C-f, then type C-g. This cancels the minibuffer,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
843 and also cancels the C-x C-f command that was using the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
844 minibuffer. So you do not find any file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
845
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
846 When you have finished entering the file name, type <Return> to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
847 terminate it. Then C-x C-f command goes to work, and finds the file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
848 you chose. The minibuffer disappears when the C-x C-f command is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
849 finished.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
850
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
851 In a little while the file contents appear on the screen, and you can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
852 edit the contents. When you wish to make your changes permanent,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
853 type the command
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
854
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
855 C-x C-s Save the file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
856
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
857 This copies the text within XEmacs into the file. The first time you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
858 do this, XEmacs renames the original file to a new name so that it is
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
859 not lost. The new name is made by adding "~" to the end of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
860 original file's name.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
861
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
862 When saving is finished, XEmacs displays the name of the file written.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
863 You should save fairly often, so that you will not lose very much
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
864 work if the system should crash.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
865
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
866 >> Type C-x C-s, saving your copy of the tutorial.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
867 This should show "Wrote ...TUTORIAL" at the bottom of the frame.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
868
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
869 NOTE: On some older TTY connections, typing C-s will freeze the screen
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
870 and you will see no further output from XEmacs. This indicates that an
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
871 operating system "feature" called "flow control" is intercepting the C-s
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
872 and not letting it get through to XEmacs. To unfreeze the screen, type
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
873 C-q. Then see the section "Spontaneous Entry to Incremental Search" in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
874 the XEmacs manual for advice on dealing with this "feature".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
875
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
876 You can find an existing file, to view it or edit it. You can also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
877 find a file which does not already exist. This is the way to create a
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
878 file with XEmacs: find the file, which will start out empty, and then
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
879 begin inserting the text for the file. When you ask to "save" the
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
880 file, XEmacs will really create the file with the text that you have
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
881 inserted. From then on, you can consider yourself to be editing an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
882 already existing file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
883
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
884
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
885 * BUFFERS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
886 ---------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
887
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
888 If you find a second file with C-x C-f, the first file remains
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
889 inside XEmacs. You can switch back to it by finding it again with
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
890 C-x C-f. This way you can get quite a number of files inside XEmacs.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
891
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
892 >> Create a file named "foo" by typing C-x C-f foo <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
893 Then insert some text, edit it, and save "foo" by typing C-x C-s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
894 Finally, type C-x C-f TUTORIAL <Return>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
895 to come back to the tutorial.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
896
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
897 XEmacs stores each file's text inside an object called a "buffer".
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
898 Finding a file makes a new buffer inside XEmacs. To see a list of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
899 buffers that currently exist in your XEmacs job, type
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
900
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
901 C-x C-b List buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
902
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
903 >> Try C-x C-b now.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
904
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
905 See how each buffer has a name, and it may also have a file name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
906 for the file whose contents it holds. Some buffers do not correspond
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
907 to files. For example, the buffer named "*Buffer List*" does
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
908 not have any file. It is the buffer which contains the buffer
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
909 list that was made by C-x C-b. ANY text you see in an XEmacs window
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
910 is always part of some buffer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
911
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
912 >> Type ESC ESC to get rid of the buffer list. (Remember, three ESC's
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
913 under TTY's.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
914
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
915 If you make changes to the text of one file, then find another file,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
916 this does not save the first file. Its changes remain inside XEmacs,
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
917 in that file's buffer. The creation or editing of the second file's
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
918 buffer has no effect on the first file's buffer. This is very useful,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
919 but it also means that you need a convenient way to save the first
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
920 file's buffer. It would be a nuisance to have to switch back to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
921 it with C-x C-f in order to save it with C-x C-s. So we have
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
922
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
923 C-x s Save some buffers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
924
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
925 C-x s asks you about each buffer which contains changes that you have
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
926 not saved. It asks you, for each such buffer, whether to save the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
927 buffer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
928
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
929 >> Insert a line of text, then type C-x s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
930 It should ask you whether to save the buffer named TUTORIAL.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
931 Answer yes to the question by typing "y".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
932
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
933
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
934 * EXTENDING THE COMMAND SET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
935 ---------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
936
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
937 There are many, many more XEmacs commands than could possibly be put
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
938 on all the control and meta characters. XEmacs gets around this with
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
939 the X (eXtend) command. This comes in two flavors:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
940
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
941 C-x Character eXtend. Followed by one character.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
942 M-x Named command eXtend. Followed by a long name.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
943
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
944 These are commands that are generally useful but used less than the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
945 commands you have already learned about. You have already seen two of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
946 them: the file commands C-x C-f to Find and C-x C-s to Save. Another
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
947 example is the command to end the XEmacs session--this is the command
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
948 C-x C-c. (Do not worry about losing changes you have made; C-x C-c
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
949 offers to save each changed file before it kills the XEmacs.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
950
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
951 If you have installed the sample init.el file (we highly recommend this,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
952 once you've gotten some familiarity with XEmacs; see "Help->Samples->View
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
953 Sample init.el"), you will find that C-x C-c does not exit XEmacs, but
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
954 instead outputs a message. This is intentional, since C-x C-c is easy to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
955 hit accidentally. Instead, use the "File->Exit XEmacs" menu item to exit.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
956
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
957 If you are on a TTY, and you want to exit temporarily to execute a shell
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
958 command, you should use C-z instead of C-x C-c. Under TTY's, C-z
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
959 "suspends" XEmacs; that is, it returns to the shell but does not destroy
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
960 the XEmacs. In the most common shells, you can resume XEmacs with the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
961 `fg' command or with `%xemacs'. (On systems which do not implement
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
962 suspending, C-z creates a subshell running under XEmacs to give you the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
963 chance to run other programs and return to XEmacs afterward; it does not
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
964 truly "exit" from XEmacs. In this case, the shell command `exit' is the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
965 usual way to get back to XEmacs from the subshell.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
966
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
967 There are many C-x commands. Here is a list of the ones you have learned:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
968
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
969 C-x C-f Find file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
970 C-x C-s Save file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
971 C-x C-b List buffers.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
972 C-x C-c Quit XEmacs.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
973 C-x 0 Delete the current window.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
974 C-x u Undo (TTY version).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
975
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
976 Named eXtended commands are commands which are used even less
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
977 frequently, or commands which are used only in certain modes. An
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
978 example is the command replace-string, which globally replaces one
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
979 string with another. When you type M-x, XEmacs prompts you at the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
980 bottom of the frame with M-x and you should type the name of the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
981 command; in this case, "replace-string". Just type "repl s<Tab>" and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
982 XEmacs will complete the name. (<Tab> is the Tab key, usually found
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
983 above the CapsLock or Shift key near the left edge of the keyboard.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
984 End the command name with <Return>.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
985
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
986 The replace-string command requires two arguments--the string to be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
987 replaced, and the string to replace it with. You must end each
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
988 argument with <Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
989
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
990 >> Move the cursor to the blank line two lines below this one.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
991 Then type M-x repl s<Return>changed<Return>altered<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
992
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
993 Notice how this line has changed: you've replaced
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
994 the word c-h-a-n-g-e-d with "altered" wherever it occurred,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
995 after the initial position of the cursor.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
996
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
997
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
998 * AUTO SAVE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
999 -----------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1000
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1001 When you have made changes in a file, but you have not saved them yet,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1002 they could be lost if your computer crashes. To protect you from this,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1003 XEmacs periodically writes an "auto save" file for each file that you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1004 are editing. The auto save file name has a # at the beginning and the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1005 end; for example, if your file is named "hello.c", its auto save file's
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1006 name is usually "#hello.c#". When you save the file in the normal way,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1007 XEmacs deletes its auto save file.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1008
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1009 If the computer crashes, you can recover your auto-saved editing by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1010 finding the file normally (the file you were editing, not the auto
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1011 save file) and then typing M-x recover file<Return>. When it asks for
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1012 confirmation, type yes<Return> to go ahead and recover the auto-save
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1013 data.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1014
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1015
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1016 * ECHO AREA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1017 -----------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1018
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1019 If XEmacs sees that you are typing multicharacter commands slowly, it
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1020 shows them to you at the bottom of the frame in an area called the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1021 "echo area". The echo area contains the bottom line of the frame.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1022
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1023
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1024 * MODELINE
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1025 ----------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1026
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1027 The line immediately above the echo area it is called the "modeline".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1028 The mode line says something like this:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1029
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1030 --**-XEmacs: TUTORIAL (Fundamental)--L670--58%----------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1031
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1032 This line gives useful information about the status of XEmacs and
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1033 the text you are editing.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1034
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1035 You already know what the filename means--it is the file you have
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1036 found. -NN%-- indicates your current position in the text; it means
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1037 that NN percent of the text is above the top of the window. If the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1038 top of the file is on the screen, it will say --Top-- instead of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1039 --00%--. If the bottom of the text is on the screen, it will say
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1040 --Bot--. If you are looking at text so small that all of it fits on
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1041 the screen, the mode line says --All--.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1042
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1043 The L and digits indicate position in another way: they give the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1044 current line number of point.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1045
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1046 The stars near the front mean that you have made changes to the text.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1047 Right after you visit or save a file, that part of the mode line shows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1048 no stars, just dashes.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1049
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1050 The part of the mode line inside the parentheses is to tell you what
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1051 editing modes you are in. The default mode is Fundamental which is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1052 what you are using now. It is an example of a "major mode".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1053
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1054 XEmacs has many different major modes. Some of them are meant for
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1055 editing different languages and/or kinds of text, such as Lisp mode,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1056 Text mode, etc. At any time one and only one major mode is active,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1057 and its name can always be found in the mode line just where
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1058 "Fundamental" is now.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1059
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1060 Each major mode makes a few commands behave differently. For example,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1061 there are commands for creating comments in a program, and since each
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1062 programming language has a different idea of what a comment should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1063 look like, each major mode has to insert comments differently. Each
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1064 major mode is the name of an extended command, which is how you can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1065 switch to that mode. For example, M-x fundamental-mode is a command to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1066 switch to Fundamental mode.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1067
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1068 If you are going to be editing English text, such as this file, you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1069 should probably use Text Mode.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1070 >> Type M-x text-mode<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1071
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1072 Don't worry, none of the XEmacs commands you have learned changes in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1073 any great way. But you can observe that C-<Right> and C-<Left> now treat
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1074 apostrophes as part of words. Previously, in Fundamental mode,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1075 C-<Right> and C-<Left> treated apostrophes as word-separators.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1076
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1077 Major modes usually make subtle changes like that one: most commands
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1078 do "the same job" in each major mode, but they work a little bit
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1079 differently.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1080
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1081 To view documentation on your current major mode, type C-h m.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1082
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1083 >> Use M-4 C-l to bring this line near the top of the window.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1084 >> Type C-h m, to see how Text mode differs from Fundamental mode.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1085 >> Type q to remove the documentation from the screen.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1086
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1087 Major modes are called major because there are also minor modes.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1088 Minor modes are not alternatives to the major modes, just minor
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1089 modifications of them. Each minor mode can be turned on or off by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1090 itself, independent of all other minor modes, and independent of your
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1091 major mode. So you can use no minor modes, or one minor mode, or any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1092 combination of several minor modes.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1093
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1094 One minor mode which is very useful, especially for editing English
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1095 text, is Auto Fill mode. When this mode is on, XEmacs breaks the line
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1096 in between words automatically whenever you insert text and make a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1097 line that is too wide.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1098
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1099 You can turn Auto Fill mode on by doing M-x auto-fill-mode<Return>.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1100 When the mode is on, you can turn it off again by doing M-x
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1101 auto-fill-mode<Return>. If the mode is off, this command turns it on,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1102 and if the mode is on, this command turns it off. We say that the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1103 command "toggles the mode".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1104
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1105 >> Type M-x auto-fill-mode<Return> now. Then insert a line of "asdf "
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1106 over again until you see it divide into two lines. You must put in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1107 spaces between them because Auto Fill breaks lines only at spaces.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1108
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1109 The margin is usually set at 70 characters, but you can change it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1110 with the C-x f command. You should give the margin setting you want
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1111 as a numeric argument.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1112
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1113 >> Type C-x f with an argument of 20. (M-20 C-x f).
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1114 Then type in some text and see XEmacs fill lines of 20
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1115 characters with it. Then set the margin back to 70 using
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1116 C-x f again.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1117
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1118 If you make changes in the middle of a paragraph, Auto Fill mode
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1119 does not re-fill it for you.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1120 To re-fill the paragraph, type M-q (META-q) with the cursor inside
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1121 that paragraph.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1122
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1123 >> Move the cursor into the previous paragraph and type M-q.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1124
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1125
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1126 * SEARCHING
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1127 -----------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1128
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1129 XEmacs can do searches for strings (these are groups of contiguous
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1130 characters or words) either forward through the text or backward
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1131 through it. Searching for a string is a cursor motion command;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1132 it moves the cursor to the next place where that string appears.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1133
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1134 The XEmacs search command is different from the search commands
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1135 of most editors, in that it is "incremental". This means that the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1136 search happens while you type in the string to search for.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1137
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1138 The command to initiate a search is C-s for forward search, and C-r
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1139 for reverse search. BUT WAIT! Don't try them now.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1140
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1141 When you type C-s you'll notice that the string "I-search" appears as
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1142 a prompt in the echo area. This tells you that XEmacs is in what is
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1143 called an incremental search waiting for you to type the thing that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1144 you want to search for. <Return> terminates a search.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1145
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1146 >> Now type C-s to start a search. SLOWLY, one letter at a time,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1147 type the word 'cursor', pausing after you type each
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1148 character to notice what happens to the cursor.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1149 Now you have searched for "cursor", once.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1150 >> Type C-s again, to search for the next occurrence of "cursor".
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1151 >> Now type <Backspace> four times and see how the cursor moves.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1152 >> Type <Return> to terminate the search.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1153
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1154 Did you see what happened? XEmacs, in an incremental search, tries to
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1155 go to the occurrence of the string that you've typed out so far,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1156 highlighting it for your convenience. To go to the next occurrence of
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1157 'cursor' just type C-s again. If no such occurrence exists XEmacs
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1158 beeps and tells you the search is currently "failing", C-g would also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1159 terminate the search.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1160
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1161 NOTE: On some older TTY connections, typing C-s will freeze the screen
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1162 and you will see no further output from XEmacs. This indicates that an
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1163 operating system "feature" called "flow control" is intercepting the C-s
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1164 and not letting it get through to XEmacs. To unfreeze the screen, type
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1165 C-q. Then see the section "Spontaneous Entry to Incremental Search" in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1166 the XEmacs manual for advice on dealing with this "feature".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1167
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1168 If you are in the middle of an incremental search and type <Backspace>,
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1169 you'll notice that the last character in the search string is erased
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1170 and the search backs up to the last place of the search. For
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1171 instance, suppose you have typed "c", to search for the first
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1172 occurrence of "c". Now if you type "u", the cursor will move
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1173 to the first occurrence of "cu". Now type <Backspace>. This erases
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1174 the "u" from the search string, and the cursor moves back to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1175 the first occurrence of "c".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1176
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1177 If you are in the middle of a search and type a control or meta
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1178 character (with a few exceptions--characters that are special in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1179 a search, such as C-s and C-r), the search is terminated.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1180
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1181 The C-s starts a search that looks for any occurrence of the search
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1182 string AFTER the current cursor position. If you want to search for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1183 something earlier in the text, type C-r instead. Everything that we
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1184 have said about C-s also applies to C-r, except that the direction of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1185 the search is reversed.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1187
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1188 * MULTIPLE "WINDOWS" (I.E. PANES)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1189 ---------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1190
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1191 One of the nice features of XEmacs is that you can split the current
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1192 frame (i.e. window-system window) into more than one pane, or "window"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1193 in XEmacs parlance.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1194
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1195 >> Move the cursor to this line and type M-0 C-l (that's zero, not Oh,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1196 and CONTROL-L, not CONTROL-1).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1197
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1198 >> Now type C-x 2 which splits the frame into two windows.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1199 Both windows display this tutorial. The cursor stays in the top window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1200
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1201 >> Type M-<Next> to scroll the bottom window.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1202 (C-M-v on TTY's. If you do not have a real META key, type ESC C-v.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1203
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1204 >> Type C-<Tab> to move the cursor to the bottom window. (Use C-x o -- "o"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1205 for "other" -- on TTY's.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1206
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1207 >> Use <Next> and <Prior> in the bottom window to scroll it.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1208 Keep reading these directions in the top window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1209
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1210 >> Type C-<Tab> again to move the cursor back to the top window.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1211 The cursor in the top window is just where it was before.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1212
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1213 You can keep using C-<Tab> to switch between the windows. Each
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1214 window has its own cursor position, but only one window actually
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1215 shows the cursor. All the ordinary editing commands apply to the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1216 window that the cursor is in. We call this the "selected window".
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1217
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1218 If you have more than two windows, C-<Tab> cycles between them, and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1219 C-Sh-<Tab> (i.e. CONTROL-SHIFT-TAB) in the opposite direction. (There is
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1220 no TTY equivalent for C-Sh-<Tab>.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1221
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1222 The commands M-<Prior> and M-<Next> are very useful when you are editing
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1223 text in one window and using the other window just for reference. You
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1224 can keep the cursor always in the window where you are editing, and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1225 scroll forward or back through the other window with these commands.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1226
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1227 On TTY's, use C-M-v in place of M-<Next>, and there's no equivalent of
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1228 M-<Prior>. C-M-v is an example of a CONTROL-META character. If you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1229 have a real META key, you can type C-M-v by holding down both CONTROL
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1230 and META while typing v. It does not matter whether CONTROL or META
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1231 "comes first," because both of these keys act by modifying the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1232 characters you type. If you do not have a real META key, and you use
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1233 ESC instead, the order does matter: you must type ESC followed by
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1234 CONTROL-v, because CONTROL-ESC v will not work. This is because ESC is
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1235 a character in its own right, not a modifier key.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1236
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1237 >> Type C-x 1 (in the top window) to get rid of the bottom window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1238
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1239 (If you had typed C-x 1 in the bottom window, that would get rid
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1240 of the top one. Think of this command as "Keep just one
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1241 window--the window I am already in.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1242
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1243 You do not have to display the same buffer in both windows. If you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1244 use C-x C-f to find a file in one window, the other window does not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1245 change. You can find a file in each window independently.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1246
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1247 Here is another way to use two windows to display two different
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1248 things:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1249
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1250 >> Type C-x 4 f followed by the name of one of your files.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1251 End with <Return>. See the specified file appear in the bottom
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1252 window. The cursor goes there, too.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1253
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1254 >> Type C-<Tab> to go back to the top window, and C-x 1 to delete
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1255 the bottom window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1256
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1257
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1258 * MULTIPLE "FRAMES" (I.E. WINDOW-SYSTEM WINDOWS)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1259 ------------------------------------------------
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1260
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1261 On window systems, you can also create multiple "frames", or
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1262 window-system windows. These exist independently of each other at the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1263 top level, just like separate programs. (There is no support for the MS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1264 Windows feature called MDI, or Multiple Document Interface, where
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1265 multiple overlapping child windows exist inside of a single top-level
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1266 window.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1267
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1268 The commands for frames are similar to those for windows, but begin with
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1269 "C-x 5".
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1270
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1271 >> Type C-x 5 2 to create a new frame.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1272
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1273 >> Move the mouse into it, and click. (On X Windows, you may not need
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1274 to click; this depends on the window manager.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1275
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1276 >> Scroll up or down. Note that, just like for XEmacs windows, two frames
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1277 can be showing the same buffer but in different positions.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1278
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1279 >> Type C-x 2. Note that each frame can have separate windows,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1280 independently of other frames.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1281
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1282 >> Type C-x 5 o (or Alt-Tab under MS Windows) to go back to the first frame.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1283 (That's a small Oh, for "other".)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1284
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1285 >> Type C-x 5 0 to kill the old frame. (That's a zero.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1286
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1287 >> Note that we're still here! XEmacs will not exit until all frames
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1288 are deleted, no matter what order they were created in.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1289
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1290 >> Type C-x 1 to get back to one window.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1291
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1292 You can also use C-x 5 f to open a file in a new frame, just like C-x 4
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1293 f opens a file in a new window in the same frame.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1294
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1295
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1296 * RECURSIVE EDITING LEVELS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1297 --------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1298
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1299 Sometimes you will get into what is called a "recursive editing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1300 level". This is indicated by square brackets in the mode line,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1301 surrounding the parentheses around the major mode name. For
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1302 example, you might see [(Fundamental)] instead of (Fundamental).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1303
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1304 To get out of the recursive editing level, use the all-purpose escape
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1305 mechanism mentioned earlier: ESC ESC. (Remember, it's ESC ESC ESC on
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1306 TTY's.) You can also use it for eliminating extra windows, canceling a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1307 selection, and getting out of the minibuffer.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1308
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1309 >> Type M-x to get into a minibuffer; then type ESC ESC to get out.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1310
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1311 You cannot use C-g to get out of a recursive editing level. This is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1312 because C-g is used for canceling commands and arguments WITHIN the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1313 recursive editing level.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1314
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1315
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1316 * GETTING MORE HELP
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1317 -------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1318
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1319 In this tutorial we have tried to supply just enough information to
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1320 get you started using XEmacs. There is so much available in XEmacs that
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1321 it would be impossible to explain it all here. However, you may want
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1322 to learn more about XEmacs since it has many other useful features.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1323 XEmacs provides commands for reading documentation about XEmacs
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1324 commands. These "help" commands all start with the character
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1325 CONTROL-h, which is called "the Help character".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1326
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1327 To use the Help features, type the C-h character, and then a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1328 character saying what kind of help you want. If you are REALLY lost,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1329 type C-h ? ? and XEmacs will tell you what kinds of help it can give.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1330 If you have typed C-h and decide you do not want any help, just
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1331 type C-g to cancel it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1332
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1333 (Note for TTY users: Some sites change the meaning of the character C-h.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1334 They really should not do this as a blanket measure for all users, so you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1335 have grounds to complain to the system administrator. Meanwhile, if C-h
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1336 does not display a message about help at the bottom of the frame, try
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1337 typing the F1 key or M-? instead.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1338
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1339 The most basic HELP feature is C-h c. Type C-h, the character c, and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1340 a command character or sequence; then XEmacs displays a very brief
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1341 description of the command.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1342
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1343 >> Type C-h c <Up>.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1344 The message should be something like
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1345
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1346 up runs the command previous-line
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1347
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1348 This tells you the "name of the function". Function names are used
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1349 mainly for customizing and extending XEmacs. But since function names
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1350 are chosen to indicate what the command does, they can serve also as
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1351 very brief documentation--sufficient to remind you of commands you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1352 have already learned.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1353
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1354 Multi-character commands such as C-x C-s and <ESC>v are also allowed
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1355 after C-h c.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1356
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1357 To get more information about a command, use C-h k instead of C-h c.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1358
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1359 >> Type C-h k <Up>.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1360
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1361 This displays the documentation of the function, as well as its
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1362 name, in an XEmacs window. When you are finished reading the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1363 output, type q to get rid of the help text.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1364
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1365 Here are some other useful C-h options:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1366
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1367 C-h f Describe a function. You type in the name of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1368 function.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1369
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1370 >> Try typing C-h f previous-line<Return>.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1371 This displays all the information XEmacs has about the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1372 function which implements the <Up> command.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1373
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1374 A similar command C-h v displays the documentation of variables whose
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1375 values you can set to customize XEmacs behavior. You need to type in
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1376 the name of the variable when XEmacs prompts for it.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1377
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1378 C-h a Hyper Apropos. Type in a keyword and XEmacs will list
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1379 all the functions and variables whose names contain
631
abac34c62a39 [xemacs-hg @ 2001-07-18 21:25:38 by adrian]
adrian
parents: 428
diff changeset
1380 that keyword. For commands that can be invoked with
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1381 META-x, an asterisk will be displayed to the left.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1382
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1383 >> Type C-h a newline<Return>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1384
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1385 This displays a list of all functions and variables with "newline" in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1386 their names. Press <Return> or click the middle mouse button to find
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1387 out more about a function or variable. Type `q' to exit hyper-apropos.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1388
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1389 C-h i Read On-line Manuals (a.k.a. Info). This command puts
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1390 you into a special buffer called `*info*' where you can
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1391 read on-line manuals for the XEmacs packages installed
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1392 on your system. Type m xemacs <Return> to read the
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1393 XEmacs manual. If you have never before used Info, type
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1394 ? and XEmacs will take you on a guided tour of Info mode
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1395 facilities. Once you are through with this tutorial,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1396 you should consult the XEmacs Info manual as your
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1397 primary documentation.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1398
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1399 * CONCLUSION
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1400 ------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1401
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1402 Remember, to exit XEmacs permanently use the menu item "File->Exit XEmacs",
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1403 or type C-x C-c. On TTY's, to temporarily exit to a shell, so that you can
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1404 come back in, use C-z.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1405
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1406 This tutorial is meant to be understandable to all new users, so if you
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1407 found something unclear, don't sit and blame yourself - complain!
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1408
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1409
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1410 COPYRIGHTS, COPYING, ORIGINS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1411 ----------------------------
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1412
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1413 Copyright (c) 1985, 1996 Free Software Foundation.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1414 Copyright (c) 2001 Ben Wing.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1415 This tutorial is synched with FSF 21.0.106.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1416
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1417 This tutorial descends from a long line of Emacs tutorials starting with
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1418 the one written by Stuart Cracraft for the original Emacs. Ben Wing
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1419 updated the tutorial for X Windows. Martin Buchholz and Hrvoje Niksic
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1420 added more corrections for XEmacs. Ben Wing later synched up to FSF
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1421 21.0.105 and rehashed many sections to match the current XEmacs norms.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1422
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1423 This version of the tutorial, like XEmacs, is copyrighted, and
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1424 comes with permission to distribute copies on certain conditions:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1425
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1426 Permission is granted to anyone to make or distribute verbatim copies
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1427 of this document as received, in any medium, provided that the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1428 copyright notice and permission notice are preserved,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1429 and that the distributor grants the recipient permission
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1430 for further redistribution as permitted by this notice.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1431
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1432 Permission is granted to distribute modified versions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1433 of this document, or of portions of it,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1434 under the above conditions, provided also that they
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1435 carry prominent notices stating who last altered them.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1436
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1437 The conditions for copying XEmacs itself are more complex, but in the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1438 same spirit. Please read the file COPYING and then do give copies of
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 631
diff changeset
1439 XEmacs to your friends. Help stamp out software obstructionism
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1440 ("ownership") by using, writing, and sharing free software!