389 |
@cindex highlighting by matching |
@cindex highlighting by matching |
390 |
@cindex interactive highlighting |
@cindex interactive highlighting |
391 |
|
|
392 |
It is sometimes useful to highlight the strings that match a certain |
It is sometimes useful to temporarily highlight text that |
393 |
regular expression. For example, you might wish to see all the |
matches a certain regular expression. For example, you might wish to |
394 |
references to a certain variable in a program source file, or highlight |
see all the references to a certain variable in a program source file, |
395 |
certain parts in a voluminous output of some program, or make certain |
highlight certain parts in a voluminous output of some program, or |
396 |
cliches stand out in an article. |
make certain names stand out in an article. |
397 |
|
|
398 |
@findex hi-lock-mode |
@findex hi-lock-mode |
399 |
Use the @kbd{M-x hi-lock-mode} command to turn on a minor mode that |
Use the @kbd{M-x hi-lock-mode} command to turn on a minor mode that |
400 |
allows you to specify regular expressions of the text to be |
allows you to interactively add and remove regular expressions |
401 |
highlighted. Hi-lock mode works like Font Lock (@pxref{Font Lock}), |
specifying text to be highlighted. Hi Lock mode works like Font Lock |
402 |
except that it lets you specify explicitly what parts of text to |
mode (@pxref{Font Lock}), except that it lets you easily add and |
403 |
highlight. You control Hi-lock mode with these commands: |
remove regular expressions while you are editing a buffer. To enable |
404 |
|
Hi Lock mode for all buffers use @kbd{M-x global-hi-lock-mode} or |
405 |
|
place @code{(global-hi-lock-mode 1)} in your @file{.emacs} file. |
406 |
|
|
407 |
|
You control Hi Lock mode with these commands: |
408 |
|
|
409 |
@table @kbd |
@table @kbd |
410 |
@item C-x w h @var{regexp} @key{RET} @var{face} @key{RET} |
@item C-x w h @var{regexp} @key{RET} @var{face} @key{RET} |
411 |
@kindex C-x w h |
@kindex C-x w h |
412 |
@findex highlight-regexp |
@findex highlight-regexp |
413 |
Highlight text that matches |
Highlight text that matches @var{regexp} using face @var{face} |
414 |
@var{regexp} using face @var{face} (@code{highlight-regexp}). |
(@code{highlight-regexp}). By using this command more than once, you |
415 |
By using this command more than once, you can highlight various |
can highlight various parts of the text in different ways. The |
416 |
parts of the text in different ways. |
highlighting will remain as long as the buffer is loaded. For |
417 |
|
example, to highlight all occurrences of the word ``whim'' using the |
418 |
|
default face (a yellow background) @kbd{C-x w h whim @key{RET} |
419 |
|
@key{RET}}. Any face can be used for highlighting, Hi Lock provides |
420 |
|
several of its own and these are pre-loaded into a history list. While |
421 |
|
being prompted for a face use @kbd{C-p} and @kbd{C-n} to cycle through |
422 |
|
them. |
423 |
|
|
424 |
@item C-x w r @var{regexp} @key{RET} |
@item C-x w r @var{regexp} @key{RET} |
425 |
@kindex C-x w r |
@kindex C-x w r |
426 |
@findex unhighlight-regexp |
@findex unhighlight-regexp |
427 |
Unhighlight @var{regexp} (@code{unhighlight-regexp}). You must enter |
Unhighlight @var{regexp} (@code{unhighlight-regexp}). |
428 |
one of the regular expressions currently specified for highlighting. |
When activated from the menu select the expression to unhighlight from |
429 |
(You can use completion, or choose from a menu, to enter one of them |
a list. When activated from the keyboard the most recently added |
430 |
conveniently.) |
expression will be shown. Use @kbd{C-p} to show the next older |
431 |
|
expression and @kbd{C-n} to select the next newer expression. When |
432 |
|
the expression to unhighlight appears press @kbd{@key{RET}} to unhighlight |
433 |
|
it. The expression can also be typed and completion is available. |
434 |
|
|
435 |
@item C-x w l @var{regexp} @key{RET} @var{face} @key{RET} |
@item C-x w l @var{regexp} @key{RET} @var{face} @key{RET} |
436 |
@kindex C-x w l |
@kindex C-x w l |
449 |
@code{hi-lock-write-interactive-patterns} command. |
@code{hi-lock-write-interactive-patterns} command. |
450 |
|
|
451 |
These patterns will be read the next time you visit the file while |
These patterns will be read the next time you visit the file while |
452 |
Hi-lock mode is enabled, or whenever you use the @kbd{M-x |
Hi Lock mode is enabled, or whenever you use the @kbd{M-x |
453 |
hi-lock-find-patterns} command. |
hi-lock-find-patterns} command. |
454 |
|
|
455 |
@item C-x w i |
@item C-x w i |
457 |
@findex hi-lock-find-patterns |
@findex hi-lock-find-patterns |
458 |
@vindex hi-lock-exclude-modes |
@vindex hi-lock-exclude-modes |
459 |
Re-read regexp/face pairs in the current buffer |
Re-read regexp/face pairs in the current buffer |
460 |
(@code{hi-lock-write-interactive-patterns}). The list of pairs is |
(@code{hi-lock-write-interactive-patterns}). Users familiar with Font |
461 |
found no matter where in the buffer it may be. |
Lock keywords might interactively enter patterns |
462 |
|
(@code{highlight-regexp}), write them into the file |
463 |
|
(@code{hi-lock-write-interactive-patterns}), edit them, perhaps |
464 |
|
including different faces for different parenthesized parts of the |
465 |
|
match, and finally use this command |
466 |
|
(@code{hi-lock-write-interactive-patterns}) to have Hi Lock highlight |
467 |
|
them. |
468 |
|
|
469 |
This command does nothing if the major mode is a member of the list |
This command does nothing if the major mode is a member of the list |
470 |
@code{hi-lock-exclude-modes}. |
@code{hi-lock-exclude-modes}. |