aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Teirlinck2005-07-07 23:09:00 +0000
committerLuc Teirlinck2005-07-07 23:09:00 +0000
commitc778ed49552c6c931d16955221ef29470e1dbe3a (patch)
treedaf6ef198d98b02425b7d09f88a9f8422ccb9a41
parent401bc3117157b58a70542fd95542cbd295134fa3 (diff)
downloademacs-c778ed49552c6c931d16955221ef29470e1dbe3a.tar.gz
emacs-c778ed49552c6c931d16955221ef29470e1dbe3a.zip
(Isearch Scroll): Add example of using the `isearch-scroll' property.
(Slow Isearch): Reference anchor for `baud-rate' instead of entire `Display Custom' node. (Regexp Replace): Put text that requires Emacs Lisp knowledge last and de-emphasize it. (Other Repeating Search): `occur' currently can not correctly handle multiline matches. Correct, clarify and update description of `flush-lines' and `keep-lines'.
-rw-r--r--man/search.texi74
1 files changed, 45 insertions, 29 deletions
diff --git a/man/search.texi b/man/search.texi
index de530f7ee01..e0bd00d7beb 100644
--- a/man/search.texi
+++ b/man/search.texi
@@ -294,7 +294,7 @@ commands such as @kbd{@key{PRIOR}} (@code{scroll-down}),
294@kbd{@key{NEXT}} (@code{scroll-up}) and @kbd{C-l} (@code{recenter}) 294@kbd{@key{NEXT}} (@code{scroll-up}) and @kbd{C-l} (@code{recenter})
295within the search, thus letting you see more of the text near the 295within the search, thus letting you see more of the text near the
296current match. You must run these commands via their key sequences to 296current match. You must run these commands via their key sequences to
297stay in the search---typing M-x @var{comand-name} will always 297stay in the search---typing M-x @var{command-name} will always
298terminate a search. 298terminate a search.
299 299
300 You can give prefix arguments to these commands in the usual way. 300 You can give prefix arguments to these commands in the usual way.
@@ -309,6 +309,16 @@ handy during a search.
309 309
310 You can make other commands usable within an incremental search by 310 You can make other commands usable within an incremental search by
311giving the command a non-@code{nil} @code{isearch-scroll} property. 311giving the command a non-@code{nil} @code{isearch-scroll} property.
312For example, to make @kbd{C-h l} usable within an incremental search
313in all future Emacs sessions, use @kbd{C-h c} to find what command it
314runs. (You type @kbd{C-h c C-h l}; it says @code{view-lossage}.) Then
315you can put the following line in your @file{.emacs} file (@pxref{Init File}):
316
317@example
318(put 'view-lossage 'isearch-scroll t)
319@end example
320
321@noindent
312This works for commands that don't permanently change point, the 322This works for commands that don't permanently change point, the
313buffer contents, the match data, the current buffer, or the selected 323buffer contents, the match data, the current buffer, or the selected
314window and frame. The command must not delete the current window and 324window and frame. The command must not delete the current window and
@@ -331,7 +341,8 @@ its new position of point.
331@vindex search-slow-speed 341@vindex search-slow-speed
332 The slow terminal style of display is used when the terminal baud rate is 342 The slow terminal style of display is used when the terminal baud rate is
333less than or equal to the value of the variable @code{search-slow-speed}, 343less than or equal to the value of the variable @code{search-slow-speed},
334initially 1200. See @code{baud-rate} in @ref{Display Custom}. 344initially 1200. See also the discussion of the variable @code{baud-rate}
345(@pxref{baud-rate,, Customization of Display}).
335 346
336@vindex search-slow-window-lines 347@vindex search-slow-window-lines
337 The number of lines to use in slow terminal search display is controlled 348 The number of lines to use in slow terminal search display is controlled
@@ -1012,7 +1023,15 @@ M-x replace-regexp @key{RET} \(c[ad]+r\)-safe @key{RET} \1 @key{RET}
1012performs the inverse transformation. To include a @samp{\} in the 1023performs the inverse transformation. To include a @samp{\} in the
1013text to replace with, you must enter @samp{\\}. 1024text to replace with, you must enter @samp{\\}.
1014 1025
1015 You can also use Lisp expressions to calculate parts of the 1026 If you want to enter part of the replacement string by hand each
1027time, use @samp{\?} in the replacement string. Each replacement will
1028ask you to edit the replacement string in the minibuffer, putting
1029point where the @samp{\?} was.
1030
1031 The remainder of this subsection is intended for specialized tasks
1032and requires knowledge of Lisp. Most readers can skip it.
1033
1034 You can use Lisp expressions to calculate parts of the
1016replacement string. To do this, write @samp{\,} followed by the 1035replacement string. To do this, write @samp{\,} followed by the
1017expression in the replacement string. Each replacement calculates the 1036expression in the replacement string. Each replacement calculates the
1018value of the expression and converts it to text without quoting (if 1037value of the expression and converts it to text without quoting (if
@@ -1050,22 +1069,6 @@ M-x replace-regexp @key{RET} ^.\@{0,72\@}$ @key{RET}
1050\,(format "%-72sABC%05d" \& \#) @key{RET} 1069\,(format "%-72sABC%05d" \& \#) @key{RET}
1051@end example 1070@end example
1052 1071
1053 If you want to enter part of the replacement string by hand each
1054time, use @samp{\?} in the replacement string. Each replacement will
1055ask you to edit the replacement string in the minibuffer, putting
1056point where the @samp{\?} was. For example,
1057
1058@example
1059M-x replace-regexp @key{RET} \\footnote@{ @key{RET}
1060\&\\label@{fn:\#\?@} @key{RET}
1061@end example
1062
1063@noindent
1064will add labels starting with @samp{\label@{fn:0@}} to occurrences of
1065@samp{\footnote@{}, but letting you edit each replacement before
1066performing it. To number the labels starting at 1, use @samp{\,(1+
1067\#)} instead of @samp{\#}.
1068
1069@node Replacement and Case, Query Replace, Regexp Replace, Replace 1072@node Replacement and Case, Query Replace, Regexp Replace, Replace
1070@subsection Replace Commands and Case 1073@subsection Replace Commands and Case
1071 1074
@@ -1257,7 +1260,8 @@ Display a list showing each line in the buffer that contains a match
1257for @var{regexp}. To limit the search to part of the buffer, narrow 1260for @var{regexp}. To limit the search to part of the buffer, narrow
1258to that part (@pxref{Narrowing}). A numeric argument @var{n} 1261to that part (@pxref{Narrowing}). A numeric argument @var{n}
1259specifies that @var{n} lines of context are to be displayed before and 1262specifies that @var{n} lines of context are to be displayed before and
1260after each matching line. 1263after each matching line. Currently, @code{occur} can not correctly
1264handle multiline matches.
1261 1265
1262@kindex RET @r{(Occur mode)} 1266@kindex RET @r{(Occur mode)}
1263@kindex o @r{(Occur mode)} 1267@kindex o @r{(Occur mode)}
@@ -1271,7 +1275,7 @@ searched and moves point to the original of the chosen occurrence.
1271does not select it. 1275does not select it.
1272 1276
1273Occur mode supports the @code{next-error} functionality described in 1277Occur mode supports the @code{next-error} functionality described in
1274in @ref{Compilation Mode}. 1278@ref{Compilation Mode}.
1275 1279
1276@item M-x list-matching-lines 1280@item M-x list-matching-lines
1277Synonym for @kbd{M-x occur}. 1281Synonym for @kbd{M-x occur}.
@@ -1290,19 +1294,31 @@ after point. In Transient Mark mode, if the region is active, the
1290command operates on the region instead. 1294command operates on the region instead.
1291 1295
1292@item M-x flush-lines @key{RET} @var{regexp} @key{RET} 1296@item M-x flush-lines @key{RET} @var{regexp} @key{RET}
1293Delete each line that contains a match for @var{regexp}, operating on 1297This command deletes each line that contains a match for @var{regexp},
1294the text after point. In Transient Mark mode, if the region is 1298operating on the text after point; it deletes the current line
1295active, the command operates on the region instead. 1299if it contains a match starting after point. In Transient Mark mode,
1300if the region is active, the command operates on the region instead;
1301it deletes a line partially contained in the region if it contains a
1302match entirely contained in the region.
1303
1304If a match is split across lines, @code{flush-lines} deletes all those
1305lines. It deletes the lines before starting to look for the next
1306match; hence, it ignores a match starting on the same line at which
1307another match ended.
1296 1308
1297@item M-x keep-lines @key{RET} @var{regexp} @key{RET} 1309@item M-x keep-lines @key{RET} @var{regexp} @key{RET}
1298Delete each line that @emph{does not} contain a match for 1310This command deletes each line that @emph{does not} contain a match for
1299@var{regexp}, operating on the text after point. In Transient Mark 1311@var{regexp}, operating on the text after point; if point is not at the
1300mode, if the region is active, the command operates on the region 1312beginning of a line, it always keeps the current line. In Transient
1301instead. 1313Mark mode, if the region is active, the command operates on the region
1314instead; it never deletes lines that are only partially contained in
1315the region (a newline that ends a line counts as part of that line).
1316
1317If a match is split across lines, this command keeps all those lines.
1302@end table 1318@end table
1303 1319
1304 You can also search multiple files under control of a tags table 1320 You can also search multiple files under control of a tags table
1305(@pxref{Tags Search}) or through Dired @kbd{A} command 1321(@pxref{Tags Search}) or through the Dired @kbd{A} command
1306(@pxref{Operating on Files}), or ask the @code{grep} program to do it 1322(@pxref{Operating on Files}), or ask the @code{grep} program to do it
1307(@pxref{Grep Searching}). 1323(@pxref{Grep Searching}).
1308 1324