Mercurial > emacs
comparison man/emacs.texi @ 70336:fa482f1cd759
(Top): Add Diff Mode to menu.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 02 May 2006 01:43:17 +0000 |
parents | 23205c99093c |
children | 41a116d81353 d9f8d2a65d18 2ecafc6d5db7 |
comparison
equal
deleted
inserted
replaced
70335:1ece0b2eac6c | 70336:fa482f1cd759 |
---|---|
87 display editor. This Info file describes how to edit with Emacs and | 87 display editor. This Info file describes how to edit with Emacs and |
88 some of how to customize it; it corresponds to GNU Emacs version | 88 some of how to customize it; it corresponds to GNU Emacs version |
89 @value{EMACSVER}. | 89 @value{EMACSVER}. |
90 | 90 |
91 @ifinfo | 91 @ifinfo |
92 If you never before used the Info documentation system, type @kbd{h}, | 92 To learn more about the Info documentation system, type @kbd{h}, and |
93 and Emacs will take you to a programmed instruction sequence for the | 93 Emacs will take you to a programmed instruction sequence for the Info |
94 Info commands. | 94 commands. |
95 @end ifinfo | 95 @end ifinfo |
96 | 96 |
97 For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The | 97 For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The |
98 Emacs Lisp Reference Manual}. | 98 Emacs Lisp Reference Manual}. |
99 @end ifnottex | 99 @end ifnottex |
195 * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. | 195 * Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. |
196 * Printing:: Printing hardcopies of buffers or regions. | 196 * Printing:: Printing hardcopies of buffers or regions. |
197 * Sorting:: Sorting lines, paragraphs or pages within Emacs. | 197 * Sorting:: Sorting lines, paragraphs or pages within Emacs. |
198 * Narrowing:: Restricting display and editing to a portion | 198 * Narrowing:: Restricting display and editing to a portion |
199 of the buffer. | 199 of the buffer. |
200 * Diff Mode:: Editing diff output. | |
200 * Two-Column:: Splitting apart columns to edit them | 201 * Two-Column:: Splitting apart columns to edit them |
201 in side-by-side windows. | 202 in side-by-side windows. |
202 * Editing Binary Files::Using Hexl mode to edit binary files. | 203 * Editing Binary Files::Using Hexl mode to edit binary files. |
203 * Saving Emacs Sessions:: Saving Emacs state from one session to the next. | 204 * Saving Emacs Sessions:: Saving Emacs state from one session to the next. |
204 * Recursive Edit:: A command can allow you to do editing | 205 * Recursive Edit:: A command can allow you to do editing |
284 * Deletion:: Commands for deleting small amounts of text and | 285 * Deletion:: Commands for deleting small amounts of text and |
285 blank areas. | 286 blank areas. |
286 * Killing by Lines:: How to kill entire lines of text at one time. | 287 * Killing by Lines:: How to kill entire lines of text at one time. |
287 * Other Kill Commands:: Commands to kill large regions of text and | 288 * Other Kill Commands:: Commands to kill large regions of text and |
288 syntactic units such as words and sentences. | 289 syntactic units such as words and sentences. |
289 * Graphical Kill:: The kill ring on graphical terminals: | 290 * Graphical Kill:: The kill ring on graphical displays: |
290 yanking between applications. | 291 yanking between applications. |
291 * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy | 292 * CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy |
292 and paste, with enhanced rectangle support. | 293 and paste, with enhanced rectangle support. |
293 | 294 |
294 Yanking | 295 Yanking |
865 | 866 |
866 @iftex | 867 @iftex |
867 @unnumbered Preface | 868 @unnumbered Preface |
868 | 869 |
869 This manual documents the use and simple customization of the Emacs | 870 This manual documents the use and simple customization of the Emacs |
870 editor. The reader is not expected to be a programmer; simple | 871 editor. Simple Emacs customizations do not require you to be a |
871 customizations do not require programming skill. The user who is not | 872 programmer, but if you are not interested in customizing, you can |
872 interested in customizing can ignore the scattered customization hints. | 873 ignore the customization hints. |
873 | 874 |
874 This is primarily a reference manual, but can also be used as a | 875 This is primarily a reference manual, but can also be used as a |
875 primer. For complete beginners, it is a good idea to start with the | 876 primer. If you are a complete beginner, we recommend you start with |
876 on-line, learn-by-doing tutorial, before reading the manual. To run the | 877 the on-line, learn-by-doing tutorial, before reading the manual. To |
877 tutorial, start Emacs and type @kbd{C-h t}. This way you can learn | 878 run the tutorial, start Emacs and type @kbd{C-h t}. The tutorial |
878 Emacs by using Emacs on a specially designed file which describes | 879 describes commands, tells you when to try them, and explains the |
879 commands, tells you when to try them, and then explains the results you | 880 results. |
880 see. | |
881 | 881 |
882 On first reading, just skim chapters 1 and 2, which describe the | 882 On first reading, just skim chapters 1 and 2, which describe the |
883 notational conventions of the manual and the general appearance of the | 883 notational conventions of the manual and the general appearance of the |
884 Emacs display screen. Note which questions are answered in these | 884 Emacs display screen. Note which questions are answered in these |
885 chapters, so you can refer back later. After reading chapter 4, you | 885 chapters, so you can refer back later. After reading chapter 4, you |
886 should practice the commands there. The next few chapters describe | 886 should practice the commands shown there. The next few chapters |
887 fundamental techniques and concepts that are used constantly. You need | 887 describe fundamental techniques and concepts that are used constantly. |
888 to understand them thoroughly, experimenting with them if necessary. | 888 You need to understand them thoroughly, so experiment with them |
889 until you are fluent. | |
889 | 890 |
890 Chapters 14 through 19 describe intermediate-level features that are | 891 Chapters 14 through 19 describe intermediate-level features that are |
891 useful for all kinds of editing. Chapter 20 and following chapters | 892 useful for many kinds of editing. Chapter 20 and following chapters |
892 describe features that you may or may not want to use; read those | 893 describe optional but useful features; read those chapters when you |
893 chapters when you need them. | 894 need them. |
894 | 895 |
895 Read the Trouble chapter if Emacs does not seem to be working | 896 Read the Trouble chapter if Emacs does not seem to be working |
896 properly. It explains how to cope with some common problems | 897 properly. It explains how to cope with several common problems |
897 (@pxref{Lossage}), as well as when and how to report Emacs bugs | 898 (@pxref{Lossage}), as well as when and how to report Emacs bugs |
898 (@pxref{Bugs}). | 899 (@pxref{Bugs}). |
899 | 900 |
900 To find the documentation on a particular command, look in the index. | 901 To find the documentation of a particular command, look in the index. |
901 Keys (character commands) and command names have separate indexes. There | 902 Keys (character commands) and command names have separate indexes. |
902 is also a glossary, with a cross reference for each term. | 903 There is also a glossary, with a cross reference for each term. |
903 | 904 |
904 This manual is available as a printed book and also as an Info file. | 905 This manual is available as a printed book and also as an Info file. |
905 The Info file is for on-line perusal with the Info program, which will | 906 The Info file is for on-line perusal with the Info program, which is |
906 be the principal way of viewing documentation on-line in the GNU system. | 907 the principal means of accessing on-line documentation in the GNU |
907 Both the Info file and the Info program itself are distributed along | 908 system. Both the Emacs Info file and an Info reader are included with |
908 with GNU Emacs. The Info file and the printed book contain | 909 GNU Emacs. The Info file and the printed book contain substantially |
909 substantially the same text and are generated from the same source | 910 the same text and are generated from the same source files, which are |
910 files, which are also distributed along with GNU Emacs. | 911 also distributed with GNU Emacs. |
911 | 912 |
912 GNU Emacs is a member of the Emacs editor family. There are many | 913 GNU Emacs is a member of the Emacs editor family. There are many |
913 Emacs editors, all sharing common principles of organization. For | 914 Emacs editors, all sharing common principles of organization. For |
914 information on the underlying philosophy of Emacs and the lessons | 915 information on the underlying philosophy of Emacs and the lessons |
915 learned from its development, see @cite{Emacs, the Extensible, | 916 learned from its development, see @cite{Emacs, the Extensible, |
1056 @end iftex | 1057 @end iftex |
1057 | 1058 |
1058 @node Intro, Glossary, Distrib, Top | 1059 @node Intro, Glossary, Distrib, Top |
1059 @unnumbered Introduction | 1060 @unnumbered Introduction |
1060 | 1061 |
1061 You are reading about GNU Emacs, the GNU incarnation of the advanced, | 1062 You are reading about GNU Emacs, the GNU incarnation of the |
1062 self-documenting, customizable, extensible real-time display editor Emacs. | 1063 advanced, self-documenting, customizable, extensible editor Emacs. |
1063 (The `G' in `GNU' is not silent.) | 1064 (The `G' in `GNU' is not silent.) |
1064 | 1065 |
1065 We say that Emacs is a @dfn{display} editor because normally the text | 1066 We call Emacs advanced because it provides much more than simple |
1066 being edited is visible on the screen and is updated automatically as you | 1067 insertion and deletion. It can control subprocesses, indent programs |
1067 type your commands. @xref{Screen,Display}. | 1068 automatically, show two or more files at once, and edit formatted |
1068 | 1069 text. Emacs editing commands operate in terms of characters, words, |
1069 We call it a @dfn{real-time} editor because the display is updated very | 1070 lines, sentences, paragraphs, and pages, as well as expressions and |
1070 frequently, usually after each character or pair of characters you | 1071 comments in various programming languages. |
1071 type. This minimizes the amount of information you must keep in your | |
1072 head as you edit. @xref{Basic,Real-time,Basic Editing}. | |
1073 | |
1074 We call Emacs advanced because it provides facilities that go beyond | |
1075 simple insertion and deletion: controlling subprocesses; automatic | |
1076 indentation of programs; viewing two or more files at once; editing | |
1077 formatted text; and dealing in terms of characters, words, lines, | |
1078 sentences, paragraphs, and pages, as well as expressions and comments in | |
1079 several different programming languages. | |
1080 | 1072 |
1081 @dfn{Self-documenting} means that at any time you can type a special | 1073 @dfn{Self-documenting} means that at any time you can type a special |
1082 character, @kbd{Control-h}, to find out what your options are. You can | 1074 character, @kbd{Control-h}, to find out what your options are. You can |
1083 also use it to find out what any command does, or to find all the commands | 1075 also use it to find out what any command does, or to find all the commands |
1084 that pertain to a topic. @xref{Help}. | 1076 that pertain to a topic. @xref{Help}. |
1085 | 1077 |
1086 @dfn{Customizable} means that you can change the definitions of Emacs | 1078 @dfn{Customizable} means that you can alter Emacs commands' behavior |
1087 commands in little ways. For example, if you use a programming language in | 1079 in simple ways. For example, if you use a programming language in |
1088 which comments start with @samp{<**} and end with @samp{**>}, you can tell | 1080 which comments start with @samp{<**} and end with @samp{**>}, you can |
1089 the Emacs comment manipulation commands to use those strings | 1081 tell the Emacs comment manipulation commands to use those strings |
1090 (@pxref{Comments}). Another sort of customization is rearrangement of the | 1082 (@pxref{Comments}). Another sort of customization is rearrangement of |
1091 command set. For example, if you prefer the four basic cursor motion | 1083 the command set. For example, you can rebind the basic cursor motion |
1092 commands (up, down, left and right) on keys in a diamond pattern on the | 1084 commands (up, down, left and right) to any keys on the keyboard that |
1093 keyboard, you can rebind the keys that way. @xref{Customization}. | 1085 you find comfortable. @xref{Customization}. |
1094 | 1086 |
1095 @dfn{Extensible} means that you can go beyond simple customization and | 1087 @dfn{Extensible} means that you can go beyond simple customization |
1096 write entirely new commands, programs in the Lisp language to be run by | 1088 and write entirely new commands---programs in the Lisp language to be |
1097 Emacs's own Lisp interpreter. Emacs is an ``on-line extensible'' | 1089 run by Emacs's own Lisp interpreter. Emacs is an ``on-line |
1098 system, which means that it is divided into many functions that call | 1090 extensible'' system, which means that it is divided into many |
1099 each other, any of which can be redefined in the middle of an editing | 1091 functions that call each other, any of which can be redefined in the |
1100 session. Almost any part of Emacs can be replaced without making a | 1092 middle of an editing session. Almost any part of Emacs can be |
1101 separate copy of all of Emacs. Most of the editing commands of Emacs | 1093 replaced without making a separate copy of all of Emacs. Most of the |
1102 are written in Lisp; the few exceptions could have been written | 1094 editing commands of Emacs are written in Lisp; the few exceptions |
1103 in Lisp but are written in C for efficiency. Although only a programmer | 1095 could have been written in Lisp but use C instead for efficiency. |
1104 can write an extension, anybody can use it afterward. @xref{Top, | 1096 Writing an extension is programming, but non-programmers can use it |
1105 Emacs Lisp Intro, Preface, eintr, An Introduction to Programming in | 1097 afterwards. @xref{Top, Emacs Lisp Intro, Preface, eintr, An |
1106 Emacs Lisp}, if you want to learn Emacs Lisp programming. | 1098 Introduction to Programming in Emacs Lisp}, if you want to learn Emacs |
1099 Lisp programming. | |
1107 | 1100 |
1108 When running on a graphical display, Emacs provides its own menus | 1101 When running on a graphical display, Emacs provides its own menus |
1109 and convenient handling of mouse buttons. But Emacs provides many of | 1102 and convenient handling of mouse buttons. In addition, Emacs provides |
1110 the benefits of a graphical display even on a text-only terminal. For | 1103 many of the benefits of a graphical display even on a text-only |
1111 instance, it can highlight parts of a file, display and edit several | 1104 terminal. For instance, it can highlight parts of a file, display and |
1112 files at once, move text between files, and edit files while running | 1105 edit several files at once, move text between files, and edit files |
1113 shell commands. | 1106 while running shell commands. |
1114 | 1107 |
1115 @include screen.texi | 1108 @include screen.texi |
1116 @include commands.texi | 1109 @include commands.texi |
1117 @include entering.texi | 1110 @include entering.texi |
1118 @include basic.texi | 1111 @include basic.texi |