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