73 |
@cindex Metafont mode |
@cindex Metafont mode |
74 |
@cindex Modula2 mode |
@cindex Modula2 mode |
75 |
@cindex Prolog mode |
@cindex Prolog mode |
76 |
|
@cindex Python mode |
77 |
@cindex Simula mode |
@cindex Simula mode |
78 |
@cindex VHDL mode |
@cindex VHDL mode |
79 |
@cindex M4 mode |
@cindex M4 mode |
85 |
ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed |
ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed |
86 |
format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s |
format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s |
87 |
companion for font creation), Modula2, Objective-C, Octave, Pascal, |
companion for font creation), Modula2, Objective-C, Octave, Pascal, |
88 |
Perl, Pike, PostScript, Prolog, Simula, Tcl, and VHDL. There is |
Perl, Pike, PostScript, Prolog, Python, Simula, Tcl, and VHDL. There is |
89 |
also a major mode for makefiles, called Makefile mode. An alternative |
also a major mode for makefiles, called Makefile mode. An alternative |
90 |
mode for Perl is called CPerl mode. Modes are available for the |
mode for Perl is called CPerl mode. Modes are available for the |
91 |
scripting languages of the common GNU and Unix shells, VMS DCL, and |
scripting languages of the common GNU and Unix shells, VMS DCL, and |
242 |
defun. This is the easiest way to get ready to kill the defun in |
defun. This is the easiest way to get ready to kill the defun in |
243 |
order to move it to a different place in the file. If you use the |
order to move it to a different place in the file. If you use the |
244 |
command while point is between defuns, it uses the following defun. |
command while point is between defuns, it uses the following defun. |
245 |
|
Successive uses of @kbd{C-M-h}, or using it in Transient Mark mode |
246 |
|
when the mark is active, includes an additional defun in the region |
247 |
|
each time. |
248 |
|
|
249 |
In C mode, @kbd{C-M-h} runs the function @code{c-mark-function}, |
In C mode, @kbd{C-M-h} runs the function @code{c-mark-function}, |
250 |
which is almost the same as @code{mark-defun}; the difference is that |
which is almost the same as @code{mark-defun}; the difference is that |
379 |
that whitespace; otherwise, @key{TAB} keeps point fixed with respect to |
that whitespace; otherwise, @key{TAB} keeps point fixed with respect to |
380 |
the characters around it. |
the characters around it. |
381 |
|
|
382 |
Use @kbd{C-q @key{TAB}} to insert a tab at point. |
Use @kbd{C-q @key{TAB}} to insert a tab character at point. |
383 |
|
|
384 |
@kindex C-j |
@kindex C-j |
385 |
@findex newline-and-indent |
@findex newline-and-indent |
388 |
followed by a @key{TAB}. @kbd{C-j} at the end of a line creates a |
followed by a @key{TAB}. @kbd{C-j} at the end of a line creates a |
389 |
blank line and then gives it the appropriate indentation. |
blank line and then gives it the appropriate indentation. |
390 |
|
|
391 |
@key{TAB} indents lines that start within a parenthetical grouping |
@key{TAB} indents a line that starts within a parenthetical grouping |
392 |
each under the preceding line (or the text after the parenthesis). |
under the preceding line within the grouping, or the text after the |
393 |
Therefore, if you manually give one of these lines a nonstandard |
parenthesis. Therefore, if you manually give one of these lines a |
394 |
indentation, the lines below will tend to follow it. This behavior is |
nonstandard indentation, the lines below will tend to follow it. This |
395 |
convenient in cases where you have overridden the standard result of |
behavior is convenient in cases where you have overridden the standard |
396 |
@key{TAB} because you find it unaesthetic for a particular line. |
result of @key{TAB} because you find it unaesthetic for a particular |
397 |
|
line. |
398 |
|
|
399 |
Remember that an open-parenthesis, open-brace or other opening delimiter |
Remember that an open-parenthesis, open-brace or other opening delimiter |
400 |
at the left margin is assumed by Emacs (including the indentation routines) |
at the left margin is assumed by Emacs (including the indentation routines) |
591 |
|
|
592 |
@noindent |
@noindent |
593 |
specifies an explicit choice for Java mode, and the default @samp{gnu} |
specifies an explicit choice for Java mode, and the default @samp{gnu} |
594 |
style for the other C-like modes. This variable takes effect when you |
style for the other C-like modes. (These settings are actually the |
595 |
select one of the C-like major modes; thus, if you specify a new |
defaults.) This variable takes effect when you select one of the |
596 |
default style for Java mode, you can make it take effect in an |
C-like major modes; thus, if you specify a new default style for Java |
597 |
existing Java mode buffer by typing @kbd{M-x java-mode} there. |
mode, you can make it take effect in an existing Java mode buffer by |
598 |
|
typing @kbd{M-x java-mode} there. |
599 |
|
|
600 |
The @code{gnu} style specifies the formatting recommended by the GNU |
The @code{gnu} style specifies the formatting recommended by the GNU |
601 |
Project for C; it is the default, so as to encourage use of our |
Project for C; it is the default, so as to encourage use of our |
718 |
use @kbd{C-M-@@} (@code{mark-sexp}), which sets mark at the same place |
use @kbd{C-M-@@} (@code{mark-sexp}), which sets mark at the same place |
719 |
that @kbd{C-M-f} would move to. @kbd{C-M-@@} takes arguments like |
that @kbd{C-M-f} would move to. @kbd{C-M-@@} takes arguments like |
720 |
@kbd{C-M-f}. In particular, a negative argument is useful for putting |
@kbd{C-M-f}. In particular, a negative argument is useful for putting |
721 |
the mark at the beginning of the previous balanced expression. |
the mark at the beginning of the previous balanced expression. The |
722 |
The alias @kbd{C-M-@key{SPC}} is equivalent to @kbd{C-M-@@}. |
alias @kbd{C-M-@key{SPC}} is equivalent to @kbd{C-M-@@}. If you use |
723 |
|
this command repeatedly, or in Transient Mark mode whenever the mark |
724 |
|
is active, it extends the region by one sexp each time. |
725 |
|
|
726 |
In languages that use infix operators, such as C, it is not possible |
In languages that use infix operators, such as C, it is not possible |
727 |
to recognize all balanced expressions as such because there can be |
to recognize all balanced expressions as such because there can be |
1074 |
@kindex C-h S |
@kindex C-h S |
1075 |
For C, Lisp, and other languages that have documentation in Info, |
For C, Lisp, and other languages that have documentation in Info, |
1076 |
you can use @kbd{C-h S} (@code{info-lookup-symbol}) to view the Info |
you can use @kbd{C-h S} (@code{info-lookup-symbol}) to view the Info |
1077 |
documentation for a symbol. You specify the symbol with the |
documentation for a symbol used in the program. You specify the |
1078 |
minibuffer; the default is the symbol appearing in the buffer at |
symbol with the minibuffer; the default is the symbol appearing in the |
1079 |
point. |
buffer at point. For example, in C mode this looks for the symbol in |
1080 |
|
the C Library Manual. |
1081 |
|
|
1082 |
The major mode determines where to look for documentation for the |
The major mode determines where to look for documentation for the |
1083 |
symbol---which Info files to look in, and which indices to search. |
symbol---which Info files to look in, and which indices to search. |
1325 |
The character @kbd{M-@key{TAB}} runs a command to complete the |
The character @kbd{M-@key{TAB}} runs a command to complete the |
1326 |
partial symbol before point against the set of meaningful symbol |
partial symbol before point against the set of meaningful symbol |
1327 |
names. This command inserts at point any additional characters that |
names. This command inserts at point any additional characters that |
1328 |
it can determine from the partial name. |
it can determine from the partial name. (If your window manager |
1329 |
|
defines @kbd{M-@key{TAB}} to switch windows, you can type this Emacs |
1330 |
|
command as @kbd{@key{ESC} @key{TAB}}.) |
1331 |
|
|
1332 |
If the partial name in the buffer has multiple possible completions |
If the partial name in the buffer has multiple possible completions |
1333 |
that differ in the very next character, so that it is impossible to |
that differ in the very next character, so that it is impossible to |
1524 |
|
|
1525 |
In C mode and related modes, certain printing characters are |
In C mode and related modes, certain printing characters are |
1526 |
``electric''---in addition to inserting themselves, they also reindent |
``electric''---in addition to inserting themselves, they also reindent |
1527 |
the current line and may insert newlines. This feature is controlled by |
the current line, and optionally also insert newlines. The |
1528 |
the variable @code{c-auto-newline}. The ``electric'' characters are |
``electric'' characters are @kbd{@{}, @kbd{@}}, @kbd{:}, @kbd{#}, |
1529 |
@kbd{@{}, @kbd{@}}, @kbd{:}, @kbd{#}, @kbd{;}, @kbd{,}, @kbd{<}, |
@kbd{;}, @kbd{,}, @kbd{<}, @kbd{>}, @kbd{/}, @kbd{*}, @kbd{(}, and |
1530 |
@kbd{>}, @kbd{/}, @kbd{*}, @kbd{(}, and @kbd{)}. |
@kbd{)}. |
1531 |
|
|
1532 |
Electric characters insert newlines only when the @dfn{auto-newline} |
Electric characters insert newlines only when the @dfn{auto-newline} |
1533 |
feature is enabled (indicated by @samp{/a} in the mode line after the |
feature is enabled (indicated by @samp{/a} in the mode line after the |