diff options
| author | Chong Yidong | 2012-01-10 16:27:22 +0800 |
|---|---|---|
| committer | Chong Yidong | 2012-01-10 16:27:22 +0800 |
| commit | 107ddb9783a3a5f988eff426e795c477b0294a4a (patch) | |
| tree | 9bba9cf0245fdf358cdeff0111cd72f1079b7981 /etc/tutorials | |
| parent | 27e428e758036e68bffe737a5d361e2b426857a7 (diff) | |
| download | emacs-107ddb9783a3a5f988eff426e795c477b0294a4a.tar.gz emacs-107ddb9783a3a5f988eff426e795c477b0294a4a.zip | |
Update English tutorial.
* etc/tutorials/TUTORIAL: Don't give instructions for old-style X
scrollbars. Use DEL terminology instead of DelBack. Improve
description of graphical continuation lines and mode-line.
Promote use of C-/ and C-SPC. Remove discussion of flow control.
Diffstat (limited to 'etc/tutorials')
| -rw-r--r-- | etc/tutorials/TUTORIAL | 357 |
1 files changed, 168 insertions, 189 deletions
diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL index 7713aba0140..c41b5d1127e 100644 --- a/etc/tutorials/TUTORIAL +++ b/etc/tutorials/TUTORIAL | |||
| @@ -217,21 +217,10 @@ screenful. For example, C-u 8 C-v scrolls the screen by 8 lines. | |||
| 217 | This should have scrolled the screen up by 8 lines. If you would like | 217 | This should have scrolled the screen up by 8 lines. If you would like |
| 218 | to scroll it down again, you can give an argument to M-v. | 218 | to scroll it down again, you can give an argument to M-v. |
| 219 | 219 | ||
| 220 | If you are using a windowed display, such as X or MS-Windows, there | 220 | If you are using a graphical display, such as X or MS-Windows, there |
| 221 | should be a tall rectangular area called a scroll bar on one side of | 221 | should be a tall rectangular area called a scroll bar on one side of |
| 222 | the Emacs window. (There are other tall rectangles on either side of | 222 | the Emacs window. You can scroll the text by clicking the mouse in |
| 223 | the Emacs display. These "fringes" are used for displaying | 223 | the scroll bar. |
| 224 | continuation characters and other symbols. The scroll bar appears on | ||
| 225 | only one side, and is the outermost column on that side.) | ||
| 226 | You can scroll the text by clicking the mouse in the scroll bar. | ||
| 227 | |||
| 228 | >> Try pressing the middle button at the top of the highlighted area | ||
| 229 | within the scroll bar. This should scroll the text to a position | ||
| 230 | determined by how high or low you click. | ||
| 231 | |||
| 232 | >> Try moving the mouse up and down, while holding the middle button | ||
| 233 | pressed down. You'll see that the text scrolls up and down as | ||
| 234 | you move the mouse. | ||
| 235 | 224 | ||
| 236 | If your mouse has a wheel button, you can also use this to scroll. | 225 | If your mouse has a wheel button, you can also use this to scroll. |
| 237 | 226 | ||
| @@ -247,8 +236,8 @@ You can also use C-g to discard a numeric argument or the beginning of | |||
| 247 | a command that you do not want to finish. | 236 | a command that you do not want to finish. |
| 248 | 237 | ||
| 249 | >> Type C-u 100 to make a numeric argument of 100, then type C-g. | 238 | >> Type C-u 100 to make a numeric argument of 100, then type C-g. |
| 250 | Now type C-f. It should move just one character, | 239 | Now type C-f. It should move just one character, because you |
| 251 | because you canceled the argument with C-g. | 240 | canceled the argument with C-g. |
| 252 | 241 | ||
| 253 | If you have typed an <ESC> by mistake, you can get rid of it with a C-g. | 242 | If you have typed an <ESC> by mistake, you can get rid of it with a C-g. |
| 254 | 243 | ||
| @@ -274,9 +263,9 @@ disabled command, answer the question with "n". | |||
| 274 | * WINDOWS | 263 | * WINDOWS |
| 275 | --------- | 264 | --------- |
| 276 | 265 | ||
| 277 | Emacs can have several windows, each displaying its own text. We will | 266 | Emacs can have several "windows", each displaying its own text. We |
| 278 | explain later on how to use multiple windows. Right now we want to | 267 | will explain later on how to use multiple windows. Right now we want |
| 279 | explain how to get rid of extra windows and go back to basic | 268 | to explain how to get rid of extra windows and go back to basic |
| 280 | one-window editing. It is simple: | 269 | one-window editing. It is simple: |
| 281 | 270 | ||
| 282 | C-x 1 One window (i.e., kill all other windows). | 271 | C-x 1 One window (i.e., kill all other windows). |
| @@ -286,9 +275,9 @@ which contains the cursor, to occupy the full screen. It deletes all | |||
| 286 | other windows. | 275 | other windows. |
| 287 | 276 | ||
| 288 | >> Move the cursor to this line and type C-u 0 C-l. | 277 | >> Move the cursor to this line and type C-u 0 C-l. |
| 289 | >> Type CONTROL-h k CONTROL-f. | 278 | >> Type C-h k C-f. |
| 290 | See how this window shrinks, while a new one appears | 279 | See how this window shrinks, while a new one appears |
| 291 | to display documentation on the CONTROL-f command. | 280 | to display documentation on the C-f command. |
| 292 | 281 | ||
| 293 | >> Type C-x 1 and see the documentation listing window disappear. | 282 | >> Type C-x 1 and see the documentation listing window disappear. |
| 294 | 283 | ||
| @@ -302,39 +291,36 @@ These commands are two, three or four characters long. | |||
| 302 | * INSERTING AND DELETING | 291 | * INSERTING AND DELETING |
| 303 | ------------------------ | 292 | ------------------------ |
| 304 | 293 | ||
| 305 | If you want to insert text, just type the text. Characters which you | 294 | If you want to insert text, just type the text. Ordinary characters, |
| 306 | can see, such as A, 7, *, etc. are taken by Emacs as text and inserted | 295 | like A, 7, *, etc., are inserted as you type them. To insert a |
| 307 | immediately. Type <Return> (the carriage-return key) to insert a | 296 | Newline character, type <Return> (this is the key on the keyboard |
| 308 | Newline character. | 297 | which is sometimes labeled "Enter"). |
| 309 | |||
| 310 | You can delete the last character you typed by typing <Delback>. | ||
| 311 | <Delback> is a key on the keyboard--the same one you normally use, | ||
| 312 | outside Emacs, for deleting the last character you typed. It is | ||
| 313 | normally a large key a couple of lines up from the <Return> key, and | ||
| 314 | it is usually labeled "Delete", "Del" or "Backspace". | ||
| 315 | 298 | ||
| 316 | If the large key there is labeled "Backspace", then that's the one you | 299 | To delete <DEL> the character immediately before the current cursor |
| 317 | use for <Delback>. There may also be another key labeled "Delete" | 300 | position, type <DEL>. This is the key on the keyboard usually labeled |
| 318 | somewhere else, but that's not <Delback>. | 301 | "Backspace"--the same one you normally use, outside Emacs, to delete |
| 302 | the last character typed. | ||
| 319 | 303 | ||
| 320 | More generally, <Delback> deletes the character immediately before the | 304 | There may also be another key on your keyboard labeled <Delete>, but |
| 321 | current cursor position. | 305 | that's not the one we refer to as <DEL>. |
| 322 | 306 | ||
| 323 | >> Do this now--type a few characters, then delete them | 307 | >> Do this now--type a few characters, then delete them by |
| 324 | by typing <Delback> a few times. Don't worry about this file | 308 | typing <DEL> a few times. Don't worry about this file |
| 325 | being changed; you will not alter the master tutorial. This is | 309 | being changed; you will not alter the master tutorial. |
| 326 | your personal copy of it. | 310 | This is your personal copy of it. |
| 327 | 311 | ||
| 328 | When a line of text gets too big for one line on the screen, the line | 312 | When a line of text gets too big for one line on the screen, the line |
| 329 | of text is "continued" onto a second screen line. A backslash ("\") | 313 | of text is "continued" onto a second screen line. If you're using a |
| 330 | (or, if you're using a windowed display, a little curved arrow) at the | 314 | graphical display, little curved arrows appear in the narrow spaces on |
| 331 | right margin (actually, in the right "fringe") indicates a line which | 315 | each side of the text area (the left and right "fringes"), to indicate |
| 332 | has been continued. | 316 | where a line has been continued. If you're using a text terminal, the |
| 317 | continued line is indicated by a backslash ("\") on the rightmost | ||
| 318 | screen column. | ||
| 333 | 319 | ||
| 334 | >> Insert text until you reach the right margin, and keep on inserting. | 320 | >> Insert text until you reach the right margin, and keep on inserting. |
| 335 | You'll see a continuation line appear. | 321 | You'll see a continuation line appear. |
| 336 | 322 | ||
| 337 | >> Use <Delback>s to delete the text until the line fits on one screen | 323 | >> Use <DEL>s to delete the text until the line fits on one screen |
| 338 | line again. The continuation line goes away. | 324 | line again. The continuation line goes away. |
| 339 | 325 | ||
| 340 | You can delete a Newline character just like any other character. | 326 | You can delete a Newline character just like any other character. |
| @@ -342,7 +328,7 @@ Deleting the Newline character between two lines merges them into | |||
| 342 | one line. If the resulting combined line is too long to fit in the | 328 | one line. If the resulting combined line is too long to fit in the |
| 343 | screen width, it will be displayed with a continuation line. | 329 | screen width, it will be displayed with a continuation line. |
| 344 | 330 | ||
| 345 | >> Move the cursor to the beginning of a line and type <Delback>. This | 331 | >> Move the cursor to the beginning of a line and type <DEL>. This |
| 346 | merges that line with the previous line. | 332 | merges that line with the previous line. |
| 347 | 333 | ||
| 348 | >> Type <Return> to reinsert the Newline you deleted. | 334 | >> Type <Return> to reinsert the Newline you deleted. |
| @@ -357,24 +343,26 @@ You've now learned the most basic way of typing something in | |||
| 357 | Emacs and correcting errors. You can delete by words or lines | 343 | Emacs and correcting errors. You can delete by words or lines |
| 358 | as well. Here is a summary of the delete operations: | 344 | as well. Here is a summary of the delete operations: |
| 359 | 345 | ||
| 360 | <Delback> Delete the character just before the cursor | 346 | <DEL> Delete the character just before the cursor |
| 361 | C-d Delete the next character after the cursor | 347 | C-d Delete the next character after the cursor |
| 362 | 348 | ||
| 363 | M-<Delback> Kill the word immediately before the cursor | 349 | M-<DEL> Kill the word immediately before the cursor |
| 364 | M-d Kill the next word after the cursor | 350 | M-d Kill the next word after the cursor |
| 365 | 351 | ||
| 366 | C-k Kill from the cursor position to end of line | 352 | C-k Kill from the cursor position to end of line |
| 367 | M-k Kill to the end of the current sentence | 353 | M-k Kill to the end of the current sentence |
| 368 | 354 | ||
| 369 | Notice that <Delback> and C-d vs M-<Delback> and M-d extend the parallel | 355 | Notice that <DEL> and C-d vs M-<DEL> and M-d extend the parallel |
| 370 | started by C-f and M-f (well, <Delback> is not really a control | 356 | started by C-f and M-f (well, <DEL> is not really a control character, |
| 371 | character, but let's not worry about that). C-k and M-k are like C-e | 357 | but let's not worry about that). C-k and M-k are like C-e and M-e, |
| 372 | and M-e, sort of, in that lines are paired with sentences. | 358 | sort of, in that lines are paired with sentences. |
| 373 | 359 | ||
| 374 | You can also kill any part of the text with one uniform method. Move | 360 | You can also kill a segment of text with one uniform method. Move to |
| 375 | to one end of that part, and type C-@ or C-<SPC> (either one). (<SPC> | 361 | one end of that part, and type C-<SPC>. (<SPC> is the Space bar.) |
| 376 | is the Space bar.) Move to the other end of that part, and type C-w. | 362 | Next, move the cursor to the other end of the text you intend to kill. |
| 377 | That kills all the text between the two positions. | 363 | As you do this, Emacs highlights the text between the cursor and the |
| 364 | position where you typed C-<SPC>. Finally, type C-w. This kills all | ||
| 365 | the text between the two positions. | ||
| 378 | 366 | ||
| 379 | >> Move the cursor to the Y at the start of the previous paragraph. | 367 | >> Move the cursor to the Y at the start of the previous paragraph. |
| 380 | >> Type C-<SPC>. Emacs should display a message "Mark set" | 368 | >> Type C-<SPC>. Emacs should display a message "Mark set" |
| @@ -391,10 +379,10 @@ Reinsertion of killed text is called "yanking". Generally, the | |||
| 391 | commands that can remove a lot of text kill the text (they are set up so | 379 | commands that can remove a lot of text kill the text (they are set up so |
| 392 | that you can yank the text), while the commands that remove just one | 380 | that you can yank the text), while the commands that remove just one |
| 393 | character, or only remove blank lines and spaces, do deletion (so you | 381 | character, or only remove blank lines and spaces, do deletion (so you |
| 394 | cannot yank that text). <Delback> and C-d do deletion in the simplest | 382 | cannot yank that text). <DEL> and C-d do deletion in the simplest |
| 395 | case, with no argument. When given an argument, they kill instead. | 383 | case, with no argument. When given an argument, they kill instead. |
| 396 | 384 | ||
| 397 | >> Move the cursor to the beginning of a line which is not empty. | 385 | >> Move the cursor to the beginning of a line which is not empty. |
| 398 | Then type C-k to kill the text on that line. | 386 | Then type C-k to kill the text on that line. |
| 399 | >> Type C-k a second time. You'll see that it kills the Newline | 387 | >> Type C-k a second time. You'll see that it kills the Newline |
| 400 | which follows that line. | 388 | which follows that line. |
| @@ -405,13 +393,13 @@ treats a numeric argument specially: it kills that many lines AND | |||
| 405 | their contents. This is not mere repetition. C-u 2 C-k kills two | 393 | their contents. This is not mere repetition. C-u 2 C-k kills two |
| 406 | lines and their newlines; typing C-k twice would not do that. | 394 | lines and their newlines; typing C-k twice would not do that. |
| 407 | 395 | ||
| 408 | Bringing back killed text is called "yanking". (Think of it as | 396 | Reinserting killed text is called "yanking". (Think of it as yanking |
| 409 | yanking back, or pulling back, some text that was taken away.) You | 397 | back, or pulling back, some text that was taken away.) You can yank |
| 410 | can yank the killed text either at the same place where it was killed, | 398 | the killed text either at the same place where it was killed, or at |
| 411 | or at some other place in the text you are editing, or even in a | 399 | some other place in the text you are editing, or even in a different |
| 412 | different file. You can yank the same text several times; that makes | 400 | file. You can yank the same text several times; that makes multiple |
| 413 | multiple copies of it. Some other editors call killing and yanking | 401 | copies of it. Some other editors call killing and yanking "cutting" |
| 414 | "cutting" and "pasting" (see the Glossary in the Emacs manual). | 402 | and "pasting" (see the Glossary in the Emacs manual). |
| 415 | 403 | ||
| 416 | The command for yanking is C-y. It reinserts the last killed text, | 404 | The command for yanking is C-y. It reinserts the last killed text, |
| 417 | at the current cursor position. | 405 | at the current cursor position. |
| @@ -454,27 +442,25 @@ recent kill). | |||
| 454 | ------ | 442 | ------ |
| 455 | 443 | ||
| 456 | If you make a change to the text, and then decide that it was a | 444 | If you make a change to the text, and then decide that it was a |
| 457 | mistake, you can undo the change with the undo command, C-x u. | 445 | mistake, you can undo the change with the undo command, C-/. |
| 458 | 446 | ||
| 459 | Normally, C-x u undoes the changes made by one command; if you repeat | 447 | Normally, C-/ undoes the changes made by one command; if you repeat |
| 460 | the C-x u several times in a row, each repetition undoes one | 448 | C-/ several times in a row, each repetition undoes one more command. |
| 461 | additional command. | ||
| 462 | 449 | ||
| 463 | But there are two exceptions: commands that do not change the text do | 450 | But there are two exceptions: commands that do not change the text |
| 464 | not count (this includes cursor motion commands and scrolling | 451 | don't count (this includes cursor motion commands and scrolling |
| 465 | commands), and self-inserting characters are usually handled in groups | 452 | commands), and self-inserting characters are usually handled in groups |
| 466 | of up to 20. (This is to reduce the number of C-x u's you have to | 453 | of up to 20. (This is to reduce the number of C-/'s you have to type |
| 467 | type to undo insertion of text.) | 454 | to undo insertion of text.) |
| 468 | 455 | ||
| 469 | >> Kill this line with C-k, then type C-x u and it should reappear. | 456 | >> Kill this line with C-k, then type C-/ and it should reappear. |
| 470 | 457 | ||
| 471 | C-_ is an alternative undo command; it works just the same as C-x u, | 458 | C-_ is an alternative undo command; it works exactly the same as C-/. |
| 472 | but it is easier to type several times in a row. The disadvantage of | 459 | On some text terminals, typing C-/ actually sends C-_ to Emacs. |
| 473 | C-_ is that on some keyboards it is not obvious how to type it. That | 460 | Alternatively, C-x u also works exactly like C-/, but is a little less |
| 474 | is why we provide C-x u as well. On some terminals, you can type C-_ | 461 | convenient to type. |
| 475 | by typing / while holding down CONTROL. | ||
| 476 | 462 | ||
| 477 | A numeric argument to C-_ or C-x u acts as a repeat count. | 463 | A numeric argument to C-/, C-_, or C-x u acts as a repeat count. |
| 478 | 464 | ||
| 479 | You can undo deletion of text just as you can undo killing of text. | 465 | You can undo deletion of text just as you can undo killing of text. |
| 480 | The distinction between killing something and deleting it affects | 466 | The distinction between killing something and deleting it affects |
| @@ -485,9 +471,9 @@ whether you can yank it with C-y; it makes no difference for undo. | |||
| 485 | ------- | 471 | ------- |
| 486 | 472 | ||
| 487 | In order to make the text you edit permanent, you must put it in a | 473 | In order to make the text you edit permanent, you must put it in a |
| 488 | file. Otherwise, it will go away when your invocation of Emacs goes | 474 | file. Otherwise, it will go away when you exit Emacs. In order to |
| 489 | away. In order to put your text in a file, you must "find" the file | 475 | put your text in a file, you must "find" the file before you enter the |
| 490 | before you enter the text. (This is also called "visiting" the file.) | 476 | text. (This is also called "visiting" the file.) |
| 491 | 477 | ||
| 492 | Finding a file means that you see the contents of the file within | 478 | Finding a file means that you see the contents of the file within |
| 493 | Emacs. In many ways, it is as if you were editing the file itself. | 479 | Emacs. In many ways, it is as if you were editing the file itself. |
| @@ -498,17 +484,16 @@ you save, Emacs leaves the original file under a changed name in case | |||
| 498 | you later decide that your changes were a mistake. | 484 | you later decide that your changes were a mistake. |
| 499 | 485 | ||
| 500 | If you look near the bottom of the screen you will see a line that | 486 | If you look near the bottom of the screen you will see a line that |
| 501 | begins with dashes, and starts with "--:--- TUTORIAL" or something | 487 | begins with dashes, and starts with " -:--- TUTORIAL" or something |
| 502 | like that. This part of the screen normally shows the name of the | 488 | like that. This part of the screen normally shows the name of the |
| 503 | file that you are visiting. Right now, you are visiting a file called | 489 | file that you are visiting. Right now, you are visiting your personal |
| 504 | "TUTORIAL" which is your personal scratch copy of the Emacs tutorial. | 490 | copy of the Emacs tutorial, which is called "TUTORIAL". When you find |
| 505 | When you find a file with Emacs, that file's name will appear in that | 491 | a file with Emacs, that file's name will appear in that precise spot. |
| 506 | precise spot. | ||
| 507 | 492 | ||
| 508 | One special thing about the command for finding a file is that you | 493 | One special thing about the command for finding a file is that you |
| 509 | have to say what file name you want. We say the command "reads an | 494 | have to say what file name you want. We say the command "reads an |
| 510 | argument from the terminal" (in this case, the argument is the name of | 495 | argument" (in this case, the argument is the name of the file). After |
| 511 | the file). After you type the command | 496 | you type the command |
| 512 | 497 | ||
| 513 | C-x C-f Find a file | 498 | C-x C-f Find a file |
| 514 | 499 | ||
| @@ -525,13 +510,12 @@ you can cancel the command with C-g. | |||
| 525 | minibuffer. So you do not find any file. | 510 | minibuffer. So you do not find any file. |
| 526 | 511 | ||
| 527 | When you have finished entering the file name, type <Return> to | 512 | When you have finished entering the file name, type <Return> to |
| 528 | terminate it. The C-x C-f command goes to work, and finds the file | 513 | terminate it. The minibuffer disappears, and the C-x C-f command goes |
| 529 | you chose. The minibuffer disappears when the C-x C-f command is | 514 | to work to find the file you chose. |
| 530 | finished. | ||
| 531 | 515 | ||
| 532 | In a little while the file contents appear on the screen, and you can | 516 | The file contents now appear on the screen, and you can edit the |
| 533 | edit the contents. When you wish to make your changes permanent, | 517 | contents. When you wish to make your changes permanent, type the |
| 534 | type the command | 518 | command |
| 535 | 519 | ||
| 536 | C-x C-s Save the file | 520 | C-x C-s Save the file |
| 537 | 521 | ||
| @@ -544,8 +528,9 @@ When saving is finished, Emacs displays the name of the file written. | |||
| 544 | You should save fairly often, so that you will not lose very much | 528 | You should save fairly often, so that you will not lose very much |
| 545 | work if the system should crash (see the section "Auto Save" below). | 529 | work if the system should crash (see the section "Auto Save" below). |
| 546 | 530 | ||
| 547 | >> Type C-x C-s, saving your copy of the tutorial. | 531 | >> Type C-x C-s TUTORIAL <Return>. |
| 548 | This should show "Wrote ...TUTORIAL" at the bottom of the screen. | 532 | This should save this tutorial to a file named TUTORIAL, and show |
| 533 | "Wrote ...TUTORIAL" at the bottom of the screen. | ||
| 549 | 534 | ||
| 550 | You can find an existing file, to view it or edit it. You can also | 535 | You can find an existing file, to view it or edit it. You can also |
| 551 | find a file which does not already exist. This is the way to create a | 536 | find a file which does not already exist. This is the way to create a |
| @@ -563,14 +548,9 @@ If you find a second file with C-x C-f, the first file remains | |||
| 563 | inside Emacs. You can switch back to it by finding it again with | 548 | inside Emacs. You can switch back to it by finding it again with |
| 564 | C-x C-f. This way you can get quite a number of files inside Emacs. | 549 | C-x C-f. This way you can get quite a number of files inside Emacs. |
| 565 | 550 | ||
| 566 | >> Create a file named "foo" by typing C-x C-f foo <Return>. | ||
| 567 | Then insert some text, edit it, and save "foo" by typing C-x C-s. | ||
| 568 | Finally, type C-x C-f TUTORIAL <Return> | ||
| 569 | to come back to the tutorial. | ||
| 570 | |||
| 571 | Emacs stores each file's text inside an object called a "buffer". | 551 | Emacs stores each file's text inside an object called a "buffer". |
| 572 | Finding a file makes a new buffer inside Emacs. To see a list of the | 552 | Finding a file makes a new buffer inside Emacs. To see a list of the |
| 573 | buffers that currently exist in your Emacs job, type | 553 | buffers that currently exist, type |
| 574 | 554 | ||
| 575 | C-x C-b List buffers | 555 | C-x C-b List buffers |
| 576 | 556 | ||
| @@ -589,22 +569,24 @@ that corresponds to a file, you can do it by visiting the file again | |||
| 589 | with C-x C-f. But there is an easier way: use the C-x b command. | 569 | with C-x C-f. But there is an easier way: use the C-x b command. |
| 590 | In that command, you have to type the buffer's name. | 570 | In that command, you have to type the buffer's name. |
| 591 | 571 | ||
| 592 | >> Type C-x b foo <Return> to go back to the buffer "foo" which holds | 572 | >> Create a file named "foo" by typing C-x C-f foo <Return>. |
| 593 | the text of the file "foo". Then type C-x b TUTORIAL <Return> | 573 | Then type C-x b TUTORIAL <Return> to come back to this tutorial. |
| 594 | to come back to this tutorial. | ||
| 595 | 574 | ||
| 596 | Most of the time, the buffer's name is the same as the file name | 575 | Most of the time, the buffer's name is the same as the file name |
| 597 | (without the file directory part). However, this is not always true. | 576 | (without the file directory part). However, this is not always true. |
| 598 | The buffer list you make with C-x C-b always shows you the name of | 577 | The buffer list you make with C-x C-b shows you both the buffer name |
| 599 | every buffer. | 578 | and the file name of every buffer. |
| 600 | 579 | ||
| 601 | ANY text you see in an Emacs window is always part of some buffer. | 580 | ANY text you see in an Emacs window is always part of some buffer. |
| 602 | Some buffers do not correspond to files. For example, the buffer | 581 | Some buffers do not correspond to files. The buffer named |
| 603 | named "*Buffer List*" does not have any file. It is the buffer which | 582 | "*Buffer List*", which contains the buffer list that you made with |
| 604 | contains the buffer list that you made with C-x C-b. The buffer named | 583 | C-x C-b, does not have any file. This TUTORIAL buffer initially did |
| 605 | "*Messages*" also does not correspond to any file; it contains the | 584 | not have a file, but now it does, because in the previous section you |
| 606 | messages that have appeared on the bottom line during your Emacs | 585 | typed C-x C-s and saved it to a file. |
| 607 | session. | 586 | |
| 587 | The buffer named "*Messages*" also does not correspond to any file. | ||
| 588 | This buffer contains the messages that have appeared on the bottom | ||
| 589 | line during your Emacs session. | ||
| 608 | 590 | ||
| 609 | >> Type C-x b *Messages* <Return> to look at the buffer of messages. | 591 | >> Type C-x b *Messages* <Return> to look at the buffer of messages. |
| 610 | Then type C-x b TUTORIAL <Return> to come back to this tutorial. | 592 | Then type C-x b TUTORIAL <Return> to come back to this tutorial. |
| @@ -646,23 +628,21 @@ session--this is the command C-x C-c. (Do not worry about losing | |||
| 646 | changes you have made; C-x C-c offers to save each changed file before | 628 | changes you have made; C-x C-c offers to save each changed file before |
| 647 | it kills Emacs.) | 629 | it kills Emacs.) |
| 648 | 630 | ||
| 649 | If you are using a graphical display that supports multiple | 631 | If you are using a graphical display, you don't need any special |
| 650 | applications in parallel, you don't need any special command to move | 632 | command to move from Emacs to another application. You can do this |
| 651 | from Emacs to another application. You can do this with the mouse or | 633 | with the mouse or with window manager commands. However, if you're |
| 652 | with window manager commands. However, if you're using a text | 634 | using a text terminal which can only show one application at a time, |
| 653 | terminal which can only show one application at a time, you need to | 635 | you need to "suspend" Emacs to move to any other program. |
| 654 | "suspend" Emacs to move to any other program. | ||
| 655 | 636 | ||
| 656 | C-z is the command to exit Emacs *temporarily*--so that you can go | 637 | C-z is the command to exit Emacs *temporarily*--so that you can go |
| 657 | back to the same Emacs session afterward. When Emacs is running on a | 638 | back to the same Emacs session afterward. When Emacs is running on a |
| 658 | text terminal, C-z "suspends" Emacs; that is, it returns to the shell | 639 | text terminal, C-z "suspends" Emacs; that is, it returns to the shell |
| 659 | but does not destroy the Emacs. In the most common shells, you can | 640 | but does not destroy the Emacs job. In the most common shells, you |
| 660 | resume Emacs with the `fg' command or with `%emacs'. | 641 | can resume Emacs with the `fg' command or with `%emacs'. |
| 661 | 642 | ||
| 662 | The time to use C-x C-c is when you are about to log out. It's also | 643 | The time to use C-x C-c is when you are about to log out. It's also |
| 663 | the right thing to use to exit an Emacs invoked under mail handling | 644 | the right thing to use to exit an Emacs invoked under mail handling |
| 664 | programs and other miscellaneous utilities, since they may not know | 645 | programs and other miscellaneous utilities. |
| 665 | how to cope with suspension of Emacs. | ||
| 666 | 646 | ||
| 667 | There are many C-x commands. Here is a list of the ones you have learned: | 647 | There are many C-x commands. Here is a list of the ones you have learned: |
| 668 | 648 | ||
| @@ -683,7 +663,7 @@ bottom of the screen with M-x and you should type the name of the | |||
| 683 | command; in this case, "replace-string". Just type "repl s<TAB>" and | 663 | command; in this case, "replace-string". Just type "repl s<TAB>" and |
| 684 | Emacs will complete the name. (<TAB> is the Tab key, usually found | 664 | Emacs will complete the name. (<TAB> is the Tab key, usually found |
| 685 | above the CapsLock or Shift key near the left edge of the keyboard.) | 665 | above the CapsLock or Shift key near the left edge of the keyboard.) |
| 686 | End the command name with <Return>. | 666 | Submit the command name with <Return>. |
| 687 | 667 | ||
| 688 | The replace-string command requires two arguments--the string to be | 668 | The replace-string command requires two arguments--the string to be |
| 689 | replaced, and the string to replace it with. You must end each | 669 | replaced, and the string to replace it with. You must end each |
| @@ -729,18 +709,18 @@ shows them to you at the bottom of the screen in an area called the | |||
| 729 | The line immediately above the echo area is called the "mode line". | 709 | The line immediately above the echo area is called the "mode line". |
| 730 | The mode line says something like this: | 710 | The mode line says something like this: |
| 731 | 711 | ||
| 732 | --:**- TUTORIAL 63% L749 (Fundamental)----------------------- | 712 | -:**- TUTORIAL 63% L749 (Fundamental) |
| 733 | 713 | ||
| 734 | This line gives useful information about the status of Emacs and | 714 | This line gives useful information about the status of Emacs and |
| 735 | the text you are editing. | 715 | the text you are editing. |
| 736 | 716 | ||
| 737 | You already know what the filename means--it is the file you have | 717 | You already know what the filename means--it is the file you have |
| 738 | found. NN% indicates your current position in the text; it means that | 718 | found. NN% indicates your current position in the buffer text; it |
| 739 | NN percent of the text is above the top of the screen. If the top of | 719 | means that NN percent of the buffer is above the top of the screen. |
| 740 | the file is on the screen, it will say "Top" instead of " 0%". If the | 720 | If the top of the buffer is on the screen, it will say "Top" instead |
| 741 | bottom of the text is on the screen, it will say "Bot". If you are | 721 | of " 0%". If the bottom of the buffer is on the screen, it will say |
| 742 | looking at text so small that all of it fits on the screen, the mode | 722 | "Bot". If you are looking at a buffer so small that all of it fits on |
| 743 | line says "All". | 723 | the screen, the mode line says "All". |
| 744 | 724 | ||
| 745 | The L and digits indicate position in another way: they give the | 725 | The L and digits indicate position in another way: they give the |
| 746 | current line number of point. | 726 | current line number of point. |
| @@ -783,7 +763,7 @@ differently. | |||
| 783 | 763 | ||
| 784 | To view documentation on your current major mode, type C-h m. | 764 | To view documentation on your current major mode, type C-h m. |
| 785 | 765 | ||
| 786 | >> Use C-u C-v once or more to bring this line near the top of screen. | 766 | >> Type C-l C-l to bring this line to the top of screen. |
| 787 | >> Type C-h m, to see how Text mode differs from Fundamental mode. | 767 | >> Type C-h m, to see how Text mode differs from Fundamental mode. |
| 788 | >> Type C-x 1 to remove the documentation from the screen. | 768 | >> Type C-x 1 to remove the documentation from the screen. |
| 789 | 769 | ||
| @@ -829,10 +809,10 @@ that paragraph. | |||
| 829 | * SEARCHING | 809 | * SEARCHING |
| 830 | ----------- | 810 | ----------- |
| 831 | 811 | ||
| 832 | Emacs can do searches for strings (these are groups of contiguous | 812 | Emacs can do searches for strings (a "string" is a group of contiguous |
| 833 | characters or words) either forward through the text or backward | 813 | characters) either forward through the text or backward through it. |
| 834 | through it. Searching for a string is a cursor motion command; | 814 | Searching for a string is a cursor motion command; it moves the cursor |
| 835 | it moves the cursor to the next place where that string appears. | 815 | to the next place where that string appears. |
| 836 | 816 | ||
| 837 | The Emacs search command is "incremental". This means that the | 817 | The Emacs search command is "incremental". This means that the |
| 838 | search happens while you type in the string to search for. | 818 | search happens while you type in the string to search for. |
| @@ -850,7 +830,7 @@ you want to search for. <Return> terminates a search. | |||
| 850 | character to notice what happens to the cursor. | 830 | character to notice what happens to the cursor. |
| 851 | Now you have searched for "cursor", once. | 831 | Now you have searched for "cursor", once. |
| 852 | >> Type C-s again, to search for the next occurrence of "cursor". | 832 | >> Type C-s again, to search for the next occurrence of "cursor". |
| 853 | >> Now type <Delback> four times and see how the cursor moves. | 833 | >> Now type <DEL> four times and see how the cursor moves. |
| 854 | >> Type <Return> to terminate the search. | 834 | >> Type <Return> to terminate the search. |
| 855 | 835 | ||
| 856 | Did you see what happened? Emacs, in an incremental search, tries to | 836 | Did you see what happened? Emacs, in an incremental search, tries to |
| @@ -859,27 +839,23 @@ go to the next occurrence of 'cursor' just type C-s again. If no such | |||
| 859 | occurrence exists, Emacs beeps and tells you the search is currently | 839 | occurrence exists, Emacs beeps and tells you the search is currently |
| 860 | "failing". C-g would also terminate the search. | 840 | "failing". C-g would also terminate the search. |
| 861 | 841 | ||
| 862 | (Note that on some systems, typing C-s will freeze the screen and you | 842 | If you are in the middle of an incremental search and type <DEL>, this |
| 863 | will see no further output from Emacs. This indicates that an | 843 | the search "retreats" to an earlier location. If you type <DEL> just |
| 864 | operating system "feature" called "flow control" is intercepting the | 844 | after you had typed C-s to advance to the next occurrence of a search |
| 865 | C-s and not letting it get through to Emacs. To unfreeze the screen, | 845 | string, the <DEL> moves the cursor back to an earlier occurrence. If |
| 866 | type C-q.) | 846 | there are no earlier occurrences, the <DEL> erases the last character |
| 867 | 847 | in the search string. For instance, suppose you have typed "c", to | |
| 868 | If you are in the middle of an incremental search and type <Delback>, | 848 | search for the first occurrence of "c". Now if you type "u", the |
| 869 | you'll notice that the last character in the search string is erased | 849 | cursor will move to the first occurrence of "cu". Now type <DEL>. |
| 870 | and the search backs up to the last place of the search. For | 850 | This erases the "u" from the search string, and the cursor moves back |
| 871 | instance, suppose you have typed "c", to search for the first | 851 | to the first occurrence of "c". |
| 872 | occurrence of "c". Now if you type "u", the cursor will move | ||
| 873 | to the first occurrence of "cu". Now type <Delback>. This erases | ||
| 874 | the "u" from the search string, and the cursor moves back to | ||
| 875 | the first occurrence of "c". | ||
| 876 | 852 | ||
| 877 | If you are in the middle of a search and type a control or meta | 853 | If you are in the middle of a search and type a control or meta |
| 878 | character (with a few exceptions--characters that are special in | 854 | character (with a few exceptions--characters that are special in a |
| 879 | a search, such as C-s and C-r), the search is terminated. | 855 | search, such as C-s and C-r), the search is terminated. |
| 880 | 856 | ||
| 881 | The C-s starts a search that looks for any occurrence of the search | 857 | C-s starts a search that looks for any occurrence of the search string |
| 882 | string AFTER the current cursor position. If you want to search for | 858 | AFTER the current cursor position. If you want to search for |
| 883 | something earlier in the text, type C-r instead. Everything that we | 859 | something earlier in the text, type C-r instead. Everything that we |
| 884 | have said about C-s also applies to C-r, except that the direction of | 860 | have said about C-s also applies to C-r, except that the direction of |
| 885 | the search is reversed. | 861 | the search is reversed. |
| @@ -888,17 +864,17 @@ the search is reversed. | |||
| 888 | * MULTIPLE WINDOWS | 864 | * MULTIPLE WINDOWS |
| 889 | ------------------ | 865 | ------------------ |
| 890 | 866 | ||
| 891 | One of the nice features of Emacs is that you can display more than one | 867 | One of the nice features of Emacs is that you can display more than |
| 892 | window on the screen at the same time. (Note that Emacs uses the term | 868 | one window on the screen at the same time. (Note that Emacs uses the |
| 893 | "frames"--described in the next section--for what some other | 869 | term "frames"--described in the next section--for what some other |
| 894 | applications call "windows". The Emacs manual contains a Glossary of | 870 | applications call "windows". The Emacs manual contains a Glossary of |
| 895 | Emacs terms.) | 871 | Emacs terms.) |
| 896 | 872 | ||
| 897 | >> Move the cursor to this line and type C-u 0 C-l (that's CONTROL-L, not | 873 | >> Move the cursor to this line and type C-l C-l. |
| 898 | CONTROL-1). | ||
| 899 | 874 | ||
| 900 | >> Now type C-x 2 which splits the screen into two windows. | 875 | >> Now type C-x 2 which splits the screen into two windows. |
| 901 | Both windows display this tutorial. The cursor stays in the top window. | 876 | Both windows display this tutorial. The editing cursor stays in |
| 877 | the top window. | ||
| 902 | 878 | ||
| 903 | >> Type C-M-v to scroll the bottom window. | 879 | >> Type C-M-v to scroll the bottom window. |
| 904 | (If you do not have a real META key, type <ESC> C-v.) | 880 | (If you do not have a real META key, type <ESC> C-v.) |
| @@ -910,23 +886,24 @@ Emacs terms.) | |||
| 910 | >> Type C-x o again to move the cursor back to the top window. | 886 | >> Type C-x o again to move the cursor back to the top window. |
| 911 | The cursor in the top window is just where it was before. | 887 | The cursor in the top window is just where it was before. |
| 912 | 888 | ||
| 913 | You can keep using C-x o to switch between the windows. Each | 889 | You can keep using C-x o to switch between the windows. The "selected |
| 914 | window has its own cursor position, but only one window actually | 890 | window", where most editing takes place, is the one with a prominent |
| 915 | shows the cursor. All the ordinary editing commands apply to the | 891 | cursor which blinks when you are not typing. The other windows have |
| 916 | window that the cursor is in. We call this the "selected window". | 892 | their own cursor positions; if you are running Emacs in a graphical |
| 893 | display, those cursors are drawn as unblinking hollow boxes. | ||
| 917 | 894 | ||
| 918 | The command C-M-v is very useful when you are editing text in one | 895 | The command C-M-v is very useful when you are editing text in one |
| 919 | window and using the other window just for reference. You can keep | 896 | window and using the other window just for reference. Without leaving |
| 920 | the cursor always in the window where you are editing, and advance | 897 | the selected window, you can scroll the other window with C-M-v. |
| 921 | through the other window sequentially with C-M-v. | ||
| 922 | 898 | ||
| 923 | C-M-v is an example of a CONTROL-META character. If you have a real | 899 | C-M-v is an example of a CONTROL-META character. If you have a META |
| 924 | META key, you can type C-M-v by holding down both CONTROL and META while | 900 | (or Alt) key, you can type C-M-v by holding down both CONTROL and META |
| 925 | typing v. It does not matter whether CONTROL or META "comes first," | 901 | while typing v. It does not matter whether CONTROL or META "comes |
| 926 | because both of these keys act by modifying the characters you type. | 902 | first," as both of these keys act by modifying the characters you |
| 903 | type. | ||
| 927 | 904 | ||
| 928 | If you do not have a real META key, and you use <ESC> instead, the | 905 | If you do not have a META key, and you use <ESC> instead, the order |
| 929 | order does matter: you must type <ESC> followed by CONTROL-v, because | 906 | does matter: you must type <ESC> followed by CONTROL-v, because |
| 930 | CONTROL-<ESC> v will not work. This is because <ESC> is a character | 907 | CONTROL-<ESC> v will not work. This is because <ESC> is a character |
| 931 | in its own right, not a modifier key. | 908 | in its own right, not a modifier key. |
| 932 | 909 | ||
| @@ -953,10 +930,12 @@ Here is another way to use two windows to display two different things: | |||
| 953 | * MULTIPLE FRAMES | 930 | * MULTIPLE FRAMES |
| 954 | ------------------ | 931 | ------------------ |
| 955 | 932 | ||
| 956 | Emacs can also create multiple "frames" (unless you are using a | 933 | Emacs can also create multiple "frames". A frame is what we call one |
| 957 | text-only terminal). A frame is what we call one collection of | 934 | collection of windows, together with its menus, scroll bars, echo |
| 958 | windows, together with its menus, scroll bars, echo area, etc. | 935 | area, etc. On graphical displays, what Emacs calls a "frame" is what |
| 959 | (Some other applications call a frame a "window".) | 936 | most other applications call a "window". Multiple graphical frames |
| 937 | can be shown on the screen at the same time. On a text terminal, only | ||
| 938 | one frame can be shown at a time. | ||
| 960 | 939 | ||
| 961 | >> Type M-x make-frame <Return>. | 940 | >> Type M-x make-frame <Return>. |
| 962 | See a new frame appear on your screen. | 941 | See a new frame appear on your screen. |
| @@ -967,10 +946,10 @@ There is nothing special about the first frame. | |||
| 967 | >> Type M-x delete-frame <Return>. | 946 | >> Type M-x delete-frame <Return>. |
| 968 | This removes the selected frame. | 947 | This removes the selected frame. |
| 969 | 948 | ||
| 970 | You can also remove a frame by using the normal method provided by | 949 | You can also remove a frame by using the normal method provided by the |
| 971 | your window manager (often clicking a button with an "X" at a top | 950 | graphical system (often clicking a button with an "X" at a top corner |
| 972 | corner of the frame). No information is lost when you close a frame | 951 | of the frame). If you remove the Emacs job's last frame this way, |
| 973 | (or window), it is simply removed from sight and can be restored later. | 952 | that exits Emacs. |
| 974 | 953 | ||
| 975 | 954 | ||
| 976 | * RECURSIVE EDITING LEVELS | 955 | * RECURSIVE EDITING LEVELS |
| @@ -1035,11 +1014,11 @@ To get more information about a command, use C-h k instead of C-h c. | |||
| 1035 | 1014 | ||
| 1036 | >> Type C-h k C-p. | 1015 | >> Type C-h k C-p. |
| 1037 | 1016 | ||
| 1038 | This displays the documentation of the function, as well as its | 1017 | This displays the documentation of the function, as well as its name, |
| 1039 | name, in an Emacs window. When you are finished reading the | 1018 | in an Emacs window. When you are finished reading the output, type |
| 1040 | output, type C-x 1 to get rid of the help text. You do not have | 1019 | C-x 1 to get rid of that window. You do not have to do this right |
| 1041 | to do this right away. You can do some editing while referring | 1020 | away. You can do some editing while referring to the help text, and |
| 1042 | to the help text, and then type C-x 1. | 1021 | then type C-x 1. |
| 1043 | 1022 | ||
| 1044 | Here are some other useful C-h options: | 1023 | Here are some other useful C-h options: |
| 1045 | 1024 | ||