annotate etc/TUTORIAL @ 4622:8cbca852bcd4

#'check-coding-systems-region: return nil on success, not t. lisp/ChangeLog addition: 2009-02-18 Aidan Kehoe <kehoea@parhasard.net> * coding.el (check-coding-systems-region): Return null on success, not t. See http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1723 tests/ChangeLog addition: 2009-02-18 Aidan Kehoe <kehoea@parhasard.net> * automated/query-coding-tests.el : Check that #'check-coding-systems-region returns null on success here, not t.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 18 Feb 2009 07:53:34 +0000
parents 137460151b27
children c6b1500299a7
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
2679
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
5 most keyboards, the key is labeled "Alt". (On Sun keyboards, the META
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
6 key is labeled with a diamond, and is *NOT* the Alt key, which also
771
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
2679
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
48 substitute 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
2679
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
110 a key labeled with a diamond, and *NOT* the Alt key, which
771
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
2679
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
132 keys, <Next> and <Prior> (often labeled PgUp and PgDn),
771
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,
2679
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
163 toolbar items, local variables, subprocesses, abbreviations,
771
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
2679
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
286 word. On TTY's, use M-f instead of C-<Right> and M-b 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,
2679
137460151b27 [xemacs-hg @ 2005-03-23 22:52:13 by adrian]
adrian
parents: 771
diff changeset
477 each invocation of ESC ESC will get rid of one, so keep repeating until
771
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!