aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper Harder2004-06-29 12:09:45 +0000
committerJesper Harder2004-06-29 12:09:45 +0000
commitbf301e70b38786b5c52c950f4424a1cba776e110 (patch)
tree231135cd517f1411487a4b77c9ff6a685f77883d
parent59feca74b22b2610582b2bcefd97c9c700d49ce4 (diff)
downloademacs-bf301e70b38786b5c52c950f4424a1cba776e110.tar.gz
emacs-bf301e70b38786b5c52c950f4424a1cba776e110.zip
* ses.texi, viper.texi, search.texi, flymake.texi, faq.texi:
* eshell.texi, ediff.texi, calendar.texi: Markup fixes.
-rw-r--r--man/ChangeLog5
-rw-r--r--man/calendar.texi2
-rw-r--r--man/ediff.texi12
-rw-r--r--man/eshell.texi2
-rw-r--r--man/eudc.texi2
-rw-r--r--man/faq.texi4
-rw-r--r--man/flymake.texi2
-rw-r--r--man/search.texi12
-rw-r--r--man/ses.texi16
-rw-r--r--man/viper.texi24
10 files changed, 43 insertions, 38 deletions
diff --git a/man/ChangeLog b/man/ChangeLog
index 7d61928a29b..288cd00386a 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,8 @@
12004-06-29 Jesper Harder <harder@ifa.au.dk>
2
3 * ses.texi, viper.texi, search.texi, flymake.texi, faq.texi:
4 * eshell.texi, ediff.texi, calendar.texi: Markup fixes.
5
12004-06-25 Richard M. Stallman <rms@gnu.org> 62004-06-25 Richard M. Stallman <rms@gnu.org>
2 7
3 * search.texi (Regexp Replace): Rewrite description of \# \, and \?. 8 * search.texi (Regexp Replace): Rewrite description of \# \, and \?.
diff --git a/man/calendar.texi b/man/calendar.texi
index 3d3f84b4ba3..9e3d3cf9f41 100644
--- a/man/calendar.texi
+++ b/man/calendar.texi
@@ -1332,7 +1332,7 @@ begins with a recognizable time of day, Emacs can warn you several
1332minutes beforehand that that appointment is pending. Emacs alerts you 1332minutes beforehand that that appointment is pending. Emacs alerts you
1333to the appointment by displaying a message in your chosen format, as 1333to the appointment by displaying a message in your chosen format, as
1334specified by the variable @code{appt-display-format}. If the value 1334specified by the variable @code{appt-display-format}. If the value
1335of @code{appt-audible} is non-nil, an audible reminder is also given. 1335of @code{appt-audible} is non-@code{nil}, an audible reminder is also given.
1336 1336
1337@findex appt-activate 1337@findex appt-activate
1338 To enable appointment notification, call the function 1338 To enable appointment notification, call the function
diff --git a/man/ediff.texi b/man/ediff.texi
index b1447386b0c..954efe4e027 100644
--- a/man/ediff.texi
+++ b/man/ediff.texi
@@ -1067,7 +1067,7 @@ the only such group-level operation is the creation of a multi-file patch.
1067@vindex ediff-autostore-merges 1067@vindex ediff-autostore-merges
1068For group sessions created to merge files, Ediff can store all merges 1068For group sessions created to merge files, Ediff can store all merges
1069automatically in a directory. The user is asked to specify such directory 1069automatically in a directory. The user is asked to specify such directory
1070if the value of @code{ediff-autostore-merges} is non-nil. If the value is 1070if the value of @code{ediff-autostore-merges} is non-@code{nil}. If the value is
1071@code{nil}, nothing is done to the merge buffers---it will be the user's 1071@code{nil}, nothing is done to the merge buffers---it will be the user's
1072responsibility to save them. If the value is @code{t}, the user will be 1072responsibility to save them. If the value is @code{t}, the user will be
1073asked where to save the merge buffers in all merge jobs, even those that do 1073asked where to save the merge buffers in all merge jobs, even those that do
@@ -2338,11 +2338,11 @@ The second of the data buffers being compared.
2338@item ediff-buffer-C 2338@item ediff-buffer-C
2339In three-way comparisons, this is the third buffer being compared. 2339In three-way comparisons, this is the third buffer being compared.
2340In merging, this is the merge buffer. 2340In merging, this is the merge buffer.
2341In two-way comparison, this variable is nil. 2341In two-way comparison, this variable is @code{nil}.
2342 2342
2343@item ediff-window-A 2343@item ediff-window-A
2344The window displaying buffer A. If buffer A is not visible, this variable 2344The window displaying buffer A. If buffer A is not visible, this variable
2345is nil or it may be a dead window. 2345is @code{nil} or it may be a dead window.
2346 2346
2347@item ediff-window-B 2347@item ediff-window-B
2348The window displaying buffer B. 2348The window displaying buffer B.
@@ -2351,9 +2351,9 @@ The window displaying buffer B.
2351The window displaying buffer C, if any. 2351The window displaying buffer C, if any.
2352 2352
2353@item ediff-control-frame 2353@item ediff-control-frame
2354A dedicated frame displaying the control buffer, if it exists. 2354A dedicated frame displaying the control buffer, if it exists. It is
2355It is non-nil only if Ediff uses the multiframe display, i.e., when the 2355non-@code{nil} only if Ediff uses the multiframe display, i.e., when
2356control buffer is in its own frame. 2356the control buffer is in its own frame.
2357@end table 2357@end table
2358 2358
2359@node Credits, Index, Customization, Top 2359@node Credits, Index, Customization, Top
diff --git a/man/eshell.texi b/man/eshell.texi
index c909b6ebb46..fafc60ed186 100644
--- a/man/eshell.texi
+++ b/man/eshell.texi
@@ -846,7 +846,7 @@ At the moment, this is not supported.
846@item Error if a glob doesn't expand due to a predicate 846@item Error if a glob doesn't expand due to a predicate
847 847
848An error should be generated only if @code{eshell-error-if-no-glob} is 848An error should be generated only if @code{eshell-error-if-no-glob} is
849non-nil. 849non-@code{nil}.
850 850
851@item @samp{(+ RET SPC TAB} does not cause @code{indent-according-to-mode} to occur 851@item @samp{(+ RET SPC TAB} does not cause @code{indent-according-to-mode} to occur
852 852
diff --git a/man/eudc.texi b/man/eudc.texi
index aaf130eb489..b5ff83be14a 100644
--- a/man/eudc.texi
+++ b/man/eudc.texi
@@ -475,7 +475,7 @@ An alist specifying methods to display attribute values. Each member of
475the list is of the form @code{(@var{name} . @var{func})} where 475the list is of the form @code{(@var{name} . @var{func})} where
476@var{name} is a lowercased string naming a directory attribute 476@var{name} is a lowercased string naming a directory attribute
477(translated according to @code{eudc-user-attribute-names-alist} if 477(translated according to @code{eudc-user-attribute-names-alist} if
478@code{eudc-use-raw-directory-names} is non-nil) and @var{func} a 478@code{eudc-use-raw-directory-names} is non-@code{nil}) and @var{func} a
479function that will be passed the corresponding attribute values for 479function that will be passed the corresponding attribute values for
480display. 480display.
481@end defvar 481@end defvar
diff --git a/man/faq.texi b/man/faq.texi
index 7c13dc16e7b..fc0afd85620 100644
--- a/man/faq.texi
+++ b/man/faq.texi
@@ -2367,7 +2367,7 @@ file, will bind the sequence @kbd{C-x g} to @code{goto-line}:
2367 2367
2368Each menu title (e.g., @samp{File}, @samp{Edit}, @samp{Buffers}) 2368Each menu title (e.g., @samp{File}, @samp{Edit}, @samp{Buffers})
2369represents a local or global keymap. Selecting a menu title with the 2369represents a local or global keymap. Selecting a menu title with the
2370mouse displays that keymap's non-nil contents in the form of a menu. 2370mouse displays that keymap's non-@code{nil} contents in the form of a menu.
2371 2371
2372So to add a menu option to an existing menu, all you have to do is add a 2372So to add a menu option to an existing menu, all you have to do is add a
2373new definition to the appropriate keymap. Adding a @samp{Forward Word} 2373new definition to the appropriate keymap. Adding a @samp{Forward Word}
@@ -3173,7 +3173,7 @@ Obviously, there is a potential for Trojan horses to exploit this
3173feature. 3173feature.
3174 3174
3175Emacs 18 allowed this feature by default; users could disable it by 3175Emacs 18 allowed this feature by default; users could disable it by
3176setting the variable @code{inhibit-local-variables} to a non-nil value. 3176setting the variable @code{inhibit-local-variables} to a non-@code{nil} value.
3177 3177
3178As of Emacs 19, Emacs has a list of local variables that create a 3178As of Emacs 19, Emacs has a list of local variables that create a
3179security risk. If a file tries to set one of them, it asks the user to 3179security risk. If a file tries to set one of them, it asks the user to
diff --git a/man/flymake.texi b/man/flymake.texi
index e710b903361..c505be21b6e 100644
--- a/man/flymake.texi
+++ b/man/flymake.texi
@@ -542,7 +542,7 @@ lines in the buffer using the accumulated error information.
542 542
543Syntax check is considered possible if there's an entry in 543Syntax check is considered possible if there's an entry in
544@code{flymake-allowed-file-name-masks} matching buffer's filename and 544@code{flymake-allowed-file-name-masks} matching buffer's filename and
545its @code{init-function} returns non-nil value. 545its @code{init-function} returns non-@code{nil} value.
546 546
547Two syntax check modes are distinguished: 547Two syntax check modes are distinguished:
548 548
diff --git a/man/search.texi b/man/search.texi
index 4577ac4b33e..43d6af70cf5 100644
--- a/man/search.texi
+++ b/man/search.texi
@@ -231,18 +231,18 @@ of bindings, look at the documentation of @code{isearch-mode} with
231 231
232 Vertical scrolling during incremental search can be enabled by 232 Vertical scrolling during incremental search can be enabled by
233setting the customizable variable @code{isearch-allow-scroll} to a 233setting the customizable variable @code{isearch-allow-scroll} to a
234non-nil value. 234non-@code{nil} value.
235 235
236 You can then use the vertical scroll-bar or certain keyboard 236 You can then use the vertical scroll-bar or certain keyboard
237commands such as @kbd{@key{PRIOR}} (@code{scroll-down}), 237commands such as @kbd{@key{PRIOR}} (@code{scroll-down}),
238@kbd{@key{NEXT}} (@code{scroll-up}) and @kbd{C-l} (@code{recenter}) 238@kbd{@key{NEXT}} (@code{scroll-up}) and @kbd{C-l} (@code{recenter})
239within the search, thus letting you see more of the text near the 239within the search, thus letting you see more of the text near the
240current match. You must run these commands via their key sequences to 240current match. You must run these commands via their key sequences to
241stay in the search - typing M-x @var{comand-name} will always 241stay in the search---typing M-x @var{comand-name} will always
242terminate a search. 242terminate a search.
243 243
244 You can give prefix arguments to these commands in the usual way. 244 You can give prefix arguments to these commands in the usual way.
245The current match cannot be scrolled out of the window - this is 245The current match cannot be scrolled out of the window---this is
246intentional. 246intentional.
247 247
248 Several other commands, such as @kbd{C-x 2} 248 Several other commands, such as @kbd{C-x 2}
@@ -847,7 +847,7 @@ history matching commands (@pxref{Minibuffer History}).
847@vindex isearch-allow-scroll 847@vindex isearch-allow-scroll
848 848
849Scrolling, etc., during incremental search is enabled by setting the 849Scrolling, etc., during incremental search is enabled by setting the
850customizable variable @code{isearch-allow-scroll} to a non-nil value. 850customizable variable @code{isearch-allow-scroll} to a non-@code{nil} value.
851 851
852@c See Subject: Info file: How do I get an itemized list without blank lines? 852@c See Subject: Info file: How do I get an itemized list without blank lines?
853@c Date: Sat, 12 Apr 2003 09:45:31 +0000 in gnu.emacs.help 853@c Date: Sat, 12 Apr 2003 09:45:31 +0000 in gnu.emacs.help
@@ -893,7 +893,7 @@ For example:
893 893
894You should only thus configure commands which are ``safe'': i.e., they 894You should only thus configure commands which are ``safe'': i.e., they
895won't leave emacs in an inconsistent state when executed within a 895won't leave emacs in an inconsistent state when executed within a
896search - that is to say, the following things may be changed by a 896search---that is to say, the following things may be changed by a
897command only temporarily, and must be restored before the command 897command only temporarily, and must be restored before the command
898finishes: 898finishes:
899 899
@@ -913,7 +913,7 @@ not itself attempt an incremental search. It may, however, change the
913window's size, or create or delete other windows and frames. 913window's size, or create or delete other windows and frames.
914 914
915Note that an attempt by a command to scroll the text 915Note that an attempt by a command to scroll the text
916@emph{horizontally} won't work, although it will do no harm - any such 916@emph{horizontally} won't work, although it will do no harm---any such
917scrolling will be overriden and nullified by the display code. 917scrolling will be overriden and nullified by the display code.
918 918
919@node Replace, Other Repeating Search, Configuring Scrolling, Search 919@node Replace, Other Repeating Search, Configuring Scrolling, Search
diff --git a/man/ses.texi b/man/ses.texi
index 8e0086ac54b..b648f6eef9a 100644
--- a/man/ses.texi
+++ b/man/ses.texi
@@ -251,8 +251,8 @@ one-argument function (a symbol or a lambda), whose result is a string
251(right-aligned) or list of one string (left-aligned). While typing in 251(right-aligned) or list of one string (left-aligned). While typing in
252a lambda, you can use @kbd{M-TAB} to complete the names of symbols. 252a lambda, you can use @kbd{M-TAB} to complete the names of symbols.
253 253
254Each cell has a printer. If nil, the column-printer for the cell's 254Each cell has a printer. If @code{nil}, the column-printer for the cell's
255column is used. If that is also nil, the default-printer for the 255column is used. If that is also @code{nil}, the default-printer for the
256spreadsheet is used. 256spreadsheet is used.
257 257
258@table @kbd 258@table @kbd
@@ -273,7 +273,7 @@ spreadsheet, plus the standard printers.
273 273
274The standard printers are suitable only for cells, not columns or 274The standard printers are suitable only for cells, not columns or
275default, because they format the value using the column-printer (or 275default, because they format the value using the column-printer (or
276default-printer if nil) and then center the result: 276default-printer if @code{nil}) and then center the result:
277 277
278@table @code 278@table @code
279@item ses-center 279@item ses-center
@@ -296,7 +296,7 @@ Centering with tildes (~) and spill-over.
296@node Clearing cells, Copy/cut/paste, Printer functions, The Basics 296@node Clearing cells, Copy/cut/paste, Printer functions, The Basics
297@section Clearing cells 297@section Clearing cells
298 298
299These commands set both formula and printer to nil: 299These commands set both formula and printer to @code{nil}:
300 300
301@table @kbd 301@table @kbd
302@item DEL 302@item DEL
@@ -331,7 +331,7 @@ Mark a region and copy it to kill ring and secondary clipboard
331@item C-w 331@item C-w
332@itemx [cut] 332@itemx [cut]
333@itemx [S-delete] 333@itemx [S-delete]
334The cut functions do not actually delete rows or columns - they copy 334The cut functions do not actually delete rows or columns---they copy
335and then clear (@code{ses-kill-override}). 335and then clear (@code{ses-kill-override}).
336 336
337@item C-y 337@item C-y
@@ -537,7 +537,7 @@ are some useful functions to call from your formulas:
537 537
538@table @code 538@table @code
539@item (ses-delete-blanks &rest @var{args}) 539@item (ses-delete-blanks &rest @var{args})
540Returns a list from which all blank cells (value is either nil or 540Returns a list from which all blank cells (value is either @code{nil} or
541'*skip*) have been deleted. 541'*skip*) have been deleted.
542 542
543@item (ses+ &rest @var{args}) 543@item (ses+ &rest @var{args})
@@ -561,10 +561,10 @@ producing a value: the print cell is filled with hash marks (#).
561@end itemize 561@end itemize
562 562
563If the result from the printer function is too wide for the cell and 563If the result from the printer function is too wide for the cell and
564the following cell is nil, the result will spill over into the 564the following cell is @code{nil}, the result will spill over into the
565following cell. Very wide results can spill over several cells. If 565following cell. Very wide results can spill over several cells. If
566the result is too wide for the available space (up to the end of the 566the result is too wide for the available space (up to the end of the
567row or the next non-nil cell), the result is truncated if the cell's 567row or the next non-@code{nil} cell), the result is truncated if the cell's
568value is a string, or replaced with hash marks otherwise. 568value is a string, or replaced with hash marks otherwise.
569 569
570SES could get confused by printer results that contain newlines or 570SES could get confused by printer results that contain newlines or
diff --git a/man/viper.texi b/man/viper.texi
index 5d4329730dc..654f6c9355f 100644
--- a/man/viper.texi
+++ b/man/viper.texi
@@ -1312,7 +1312,7 @@ These two keys invoke many important Emacs functions. For example, if you
1312hit @kbd{C-x} followed by @kbd{2}, then the current window will be split 1312hit @kbd{C-x} followed by @kbd{2}, then the current window will be split
1313into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs 1313into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs
1314command from the current major mode. @key{ESC} will do the same, if you 1314command from the current major mode. @key{ESC} will do the same, if you
1315configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to nil 1315configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to @code{nil}
1316in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi 1316in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi
1317states will make Emacs think @kbd{Meta} has been hit.@refill 1317states will make Emacs think @kbd{Meta} has been hit.@refill
1318@item \ 1318@item \
@@ -1742,7 +1742,7 @@ executed. Otherwise, it is processed as an ordinary sequence of typed keys.
1742 1742
1743Setting this variable too high may slow down your typing. Setting it too 1743Setting this variable too high may slow down your typing. Setting it too
1744low may make it hard to type macros quickly enough. 1744low may make it hard to type macros quickly enough.
1745@item viper-translate-all-ESC-keysequences t on tty, nil on windowing display 1745@item viper-translate-all-ESC-keysequences @code{t} on tty, @code{nil} on windowing display
1746Normally, Viper lets Emacs translate only those ESC key sequences that are 1746Normally, Viper lets Emacs translate only those ESC key sequences that are
1747defined in the low-level key-translation-map or function-key-map, such as those 1747defined in the low-level key-translation-map or function-key-map, such as those
1748emitted by the arrow and function keys. Other sequences, e.g., @kbd{\\e/}, are 1748emitted by the arrow and function keys. Other sequences, e.g., @kbd{\\e/}, are
@@ -1753,7 +1753,7 @@ The default is to translate all sequences only when using a dumb terminal.
1753This permits you to use @kbd{ESC} as a meta key in insert mode. For instance, 1753This permits you to use @kbd{ESC} as a meta key in insert mode. For instance,
1754hitting @kbd{ESC x} fast would have the effect of typing @kbd{M-x}. 1754hitting @kbd{ESC x} fast would have the effect of typing @kbd{M-x}.
1755If your dumb terminal is not so dumb and understands the meta key, then you 1755If your dumb terminal is not so dumb and understands the meta key, then you
1756probably will be better off setting this variable to nil. Try and see which 1756probably will be better off setting this variable to @code{nil}. Try and see which
1757way suits you best. 1757way suits you best.
1758@item viper-ex-style-motion t 1758@item viper-ex-style-motion t
1759Set this to @code{nil}, if you want @kbd{l,h} to cross 1759Set this to @code{nil}, if you want @kbd{l,h} to cross
@@ -1764,8 +1764,8 @@ Set this to @code{nil}, if you want
1764at the beginning of a line in Insert state, @key{X} and @key{x} to delete 1764at the beginning of a line in Insert state, @key{X} and @key{x} to delete
1765characters across lines in Vi command state, etc. 1765characters across lines in Vi command state, etc.
1766@item viper-ESC-moves-cursor-back t 1766@item viper-ESC-moves-cursor-back t
1767It t, cursor moves back 1 character when switching from insert state to vi 1767It @code{t}, cursor moves back 1 character when switching from insert state to vi
1768state. If nil, the cursor stays where it was before the switch. 1768state. If @code{nil}, the cursor stays where it was before the switch.
1769@item viper-always t 1769@item viper-always t
1770@code{t} means: leave it to Viper to decide when a buffer must be brought 1770@code{t} means: leave it to Viper to decide when a buffer must be brought
1771up in Vi state, 1771up in Vi state,
@@ -1873,17 +1873,17 @@ If set to a valid color, this will be the cursor color when Viper is in
1873insert state. 1873insert state.
1874@item viper-replace-region-end-delimiter "$" 1874@item viper-replace-region-end-delimiter "$"
1875A string used to mark the end of replacement regions. It is used only on 1875A string used to mark the end of replacement regions. It is used only on
1876TTYs or if @code{viper-use-replace-region-delimiters} is non-nil. 1876TTYs or if @code{viper-use-replace-region-delimiters} is non-@code{nil}.
1877@item viper-replace-region-start-delimiter "" 1877@item viper-replace-region-start-delimiter ""
1878A string used to mark the beginning of replacement regions. It is used 1878A string used to mark the beginning of replacement regions. It is used
1879only on TTYs or if @code{viper-use-replace-region-delimiters} is non-nil. 1879only on TTYs or if @code{viper-use-replace-region-delimiters} is non-@code{nil}.
1880@item viper-use-replace-region-delimiters 1880@item viper-use-replace-region-delimiters
1881If non-nil, Viper will always use @code{viper-replace-region-end-delimiter} and 1881If non-@code{nil}, Viper will always use @code{viper-replace-region-end-delimiter} and
1882@code{viper-replace-region-start-delimiter} to delimit replacement regions, 1882@code{viper-replace-region-start-delimiter} to delimit replacement regions,
1883even on color displays (where this is unnecessary). By default, this 1883even on color displays (where this is unnecessary). By default, this
1884variable is non-nil only on TTYs or monochrome displays. 1884variable is non-@code{nil} only on TTYs or monochrome displays.
1885@item viper-allow-multiline-replace-regions t 1885@item viper-allow-multiline-replace-regions t
1886If non-nil, multi-line text replacement regions, such as those produced by 1886If non-@code{nil}, multi-line text replacement regions, such as those produced by
1887commands @kbd{c55w}, @kbd{3C}, etc., will stay around until the user exits 1887commands @kbd{c55w}, @kbd{3C}, etc., will stay around until the user exits
1888the replacement mode. In this variable is set to @code{nil}, Viper will 1888the replacement mode. In this variable is set to @code{nil}, Viper will
1889emulate the standard Vi behavior, which supports only intra-line 1889emulate the standard Vi behavior, which supports only intra-line
@@ -2390,7 +2390,7 @@ can unbind `/' and `:' in @code{viper-dired-modifier-map} (for Dired) or in
2390 2390
2391To unbind the macros `//' and `///' for a major mode where you feel they 2391To unbind the macros `//' and `///' for a major mode where you feel they
2392are undesirable, execute @code{viper-set-emacs-state-searchstyle-macros} with a 2392are undesirable, execute @code{viper-set-emacs-state-searchstyle-macros} with a
2393non-nil argument. This can be done either interactively, by supplying a 2393non-@code{nil} argument. This can be done either interactively, by supplying a
2394prefix argument, or by placing 2394prefix argument, or by placing
2395@example 2395@example
2396(viper-set-emacs-state-searchstyle-macros 'undefine) 2396(viper-set-emacs-state-searchstyle-macros 'undefine)
@@ -3360,7 +3360,7 @@ this function.
3360Find the next bracket/parenthesis/brace and go to its match. 3360Find the next bracket/parenthesis/brace and go to its match.
3361By default, Viper ignores brackets/parentheses/braces that occur inside 3361By default, Viper ignores brackets/parentheses/braces that occur inside
3362parentheses. You can change this by setting 3362parentheses. You can change this by setting
3363@code{viper-parse-sexp-ignore-comments} to nil in your @file{.viper} file. 3363@code{viper-parse-sexp-ignore-comments} to @code{nil} in your @file{.viper} file.
3364This option can also be toggled interactively if you quickly hit @kbd{%%%}. 3364This option can also be toggled interactively if you quickly hit @kbd{%%%}.
3365 3365
3366This latter feature is implemented as a vi-style keyboard macro. If you 3366This latter feature is implemented as a vi-style keyboard macro. If you