aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorGlenn Morris2014-01-26 18:02:28 -0800
committerGlenn Morris2014-01-26 18:02:28 -0800
commitece4bae50f6ca8d03d076aa33eedd014a3af8c41 (patch)
tree66910ffa712f0643475284089989667641d1d5d2 /doc/misc
parent6ea71a445d523ff95a2cd6ae0cbde8bd7ca8d878 (diff)
downloademacs-ece4bae50f6ca8d03d076aa33eedd014a3af8c41.tar.gz
emacs-ece4bae50f6ca8d03d076aa33eedd014a3af8c41.zip
Doc, comment, etc updates for increased use of locate-user-emacs-file
This should have been a prerequisite for making these changes in the first place. * doc/emacs/calendar.texi (Time Intervals): * doc/misc/idlwave.texi (Lesson III---User Catalog, Online Help) (Starting the Shell, Catalogs, User Catalog): * doc/misc/remember.texi (Quick Start): * doc/misc/viper.texi: * doc/misc/vip.texi (Customization, Customizing Constants) (Customizing Key Bindings): Update for files being in ~/.emacs.d/. * lisp/ido.el (ido-save-directory-list-file): * lisp/saveplace.el (save-place-file): * lisp/calendar/timeclock.el (timeclock-file): * lisp/net/quickurl.el (quickurl-url-file): * lisp/obsolete/otodo-mode.el (todo-file-do, todo-file-done, todo-file-top): * lisp/progmodes/idlwave.el (idlwave-config-directory): * lisp/textmodes/remember.el (remember-data-file): Bump :version. * lisp/shadowfile.el (shadow-info-file, shadow-todo-file): Doc fix. * lisp/strokes.el (strokes-file): Doc fix. Bump :version. (strokes-help): Doc fix. * lisp/emulation/viper-init.el (viper-vi-style-in-minibuffer): Doc fix. * lisp/emulation/viper.el (viper): Doc fix for custom group. (top-level): Remove oh-so-no-longer-relevant text about vip. * lisp/obsolete/otodo-mode.el (todo-prefix): Doc fix. * etc/NEWS: Related edits.
Diffstat (limited to 'doc/misc')
-rw-r--r--doc/misc/ChangeLog9
-rw-r--r--doc/misc/idlwave.texi14
-rw-r--r--doc/misc/remember.texi4
-rw-r--r--doc/misc/vip.texi8
-rw-r--r--doc/misc/viper.texi130
5 files changed, 90 insertions, 75 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 589f0060840..33f6057e94f 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,12 @@
12014-01-27 Glenn Morris <rgm@gnu.org>
2
3 * idlwave.texi (Lesson III---User Catalog, Online Help)
4 (Starting the Shell, Catalogs, User Catalog):
5 * remember.texi (Quick Start):
6 * viper.texi:
7 * vip.texi (Customization, Customizing Constants)
8 (Customizing Key Bindings): Update for files being in ~/.emacs.d/.
9
12014-01-25 Xue Fuqiao <xfq.free@gmail.com> 102014-01-25 Xue Fuqiao <xfq.free@gmail.com>
2 11
3 * cc-mode.texi (Minor Modes): Minor fix. 12 * cc-mode.texi (Minor Modes): Minor fix.
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index c4719dcd039..b56b311e273 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -689,8 +689,8 @@ you want; directories with existing library catalogs will not be
689selected by default) and click on the @samp{Scan&Save} button. Then 689selected by default) and click on the @samp{Scan&Save} button. Then
690go for a cup of coffee while IDLWAVE collects information for each and 690go for a cup of coffee while IDLWAVE collects information for each and
691every IDL routine on your search path. All this information is 691every IDL routine on your search path. All this information is
692written to the file @file{.idlwave/idlusercat.el} in your home 692written to the file @file{~/.emacs.d/idlwave/idlusercat.el}
693directory and will from now on automatically load whenever you use 693and will from now on automatically load whenever you use
694IDLWAVE@. You may find it necessary to rebuild the catalog on occasion 694IDLWAVE@. You may find it necessary to rebuild the catalog on occasion
695as your local libraries change, or build a library catalog for those 695as your local libraries change, or build a library catalog for those
696directories instead. Invoke routine info (@kbd{C-c ?}) or completion 696directories instead. Invoke routine info (@kbd{C-c ?}) or completion
@@ -1262,7 +1262,7 @@ directly with IDL, along with an XML-based catalog of routine
1262information. By default, IDLWAVE automatically attempts to convert this 1262information. By default, IDLWAVE automatically attempts to convert this
1263XML catalog into a format Emacs can more easily understand, and caches 1263XML catalog into a format Emacs can more easily understand, and caches
1264this information in your @code{idlwave_config_directory} 1264this information in your @code{idlwave_config_directory}
1265(@file{~/.idlwave/}, by default). It also re-scans the XML catalog if 1265(@file{~/.emacs.d/idlwave/}, by default). It also re-scans the XML catalog if
1266it is newer than the current cached version. You can force rescan with 1266it is newer than the current cached version. You can force rescan with
1267the menu entry @code{IDLWAVE->Routine Info->Rescan XML Help Catalog}. 1267the menu entry @code{IDLWAVE->Routine Info->Rescan XML Help Catalog}.
1268 1268
@@ -2466,7 +2466,7 @@ Initial commands, separated by newlines, to send to IDL.
2466Non-@code{nil} means preserve command history between sessions. 2466Non-@code{nil} means preserve command history between sessions.
2467@end defopt 2467@end defopt
2468 2468
2469@defopt idlwave-shell-command-history-file (@file{~/.idlwave/.idlwhist}) 2469@defopt idlwave-shell-command-history-file (@file{~/.emacs.d/idlwave/.idlwhist})
2470The file in which the command history of the idlwave shell is saved. 2470The file in which the command history of the idlwave shell is saved.
2471Unless it's an absolute path, it goes in 2471Unless it's an absolute path, it goes in
2472@code{idlwave-config-directory}. 2472@code{idlwave-config-directory}.
@@ -3518,7 +3518,7 @@ information (e.g., Windows), a library path must be specified in
3518to setup directories for user catalog scan (@pxref{User Catalog} for 3518to setup directories for user catalog scan (@pxref{User Catalog} for
3519more on this variable). Note that, before the shell is running, IDLWAVE 3519more on this variable). Note that, before the shell is running, IDLWAVE
3520can only know about the IDL search path by consulting the file pointed 3520can only know about the IDL search path by consulting the file pointed
3521to by @code{idlwave-path-file} (@file{~/.idlwave/idlpath.el}, by 3521to by @code{idlwave-path-file} (@file{~/.emacs.d/idlwave/idlpath.el}, by
3522default). If @code{idlwave-auto-write-path} is enabled (which is the 3522default). If @code{idlwave-auto-write-path} is enabled (which is the
3523default), the paths are written out whenever the IDLWAVE shell is 3523default), the paths are written out whenever the IDLWAVE shell is
3524started. 3524started.
@@ -3540,7 +3540,7 @@ locating HTML help and the IDL Assistant for IDL v6.2 and later. Under
3540Unix/MacOSX, will be obtained from the Shell and recorded, if run. 3540Unix/MacOSX, will be obtained from the Shell and recorded, if run.
3541@end defopt 3541@end defopt
3542 3542
3543@defopt idlwave-config-directory (@file{~/.idlwave}) 3543@defopt idlwave-config-directory (@file{~/.emacs.d/idlwave})
3544Default path where IDLWAVE saves configuration information, a user 3544Default path where IDLWAVE saves configuration information, a user
3545catalog (if any), and a cached scan of the XML catalog (IDL v6.2 and 3545catalog (if any), and a cached scan of the XML catalog (IDL v6.2 and
3546later). 3546later).
@@ -3629,7 +3629,7 @@ performance is a problem and/or the catalogs are not needed.
3629 3629
3630The user catalog is the old routine catalog system. It is produced 3630The user catalog is the old routine catalog system. It is produced
3631within Emacs, and stored in a single file in the user's home directory 3631within Emacs, and stored in a single file in the user's home directory
3632(@file{.idlwave/idlusercat.el} by default). Although library catalogs 3632(@file{.emacs.d/idlwave/idlusercat.el} by default). Although library catalogs
3633are more flexible, there may be reasons to prefer a user catalog 3633are more flexible, there may be reasons to prefer a user catalog
3634instead, including: 3634instead, including:
3635 3635
diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi
index a32c71f7d66..d9c11cea424 100644
--- a/doc/misc/remember.texi
+++ b/doc/misc/remember.texi
@@ -203,7 +203,7 @@ Type @kbd{C-c C-c} (@code{remember-finalize}) to save the note and close
203the @samp{*Remember*} buffer. 203the @samp{*Remember*} buffer.
204@end itemize 204@end itemize
205 205
206By default, @code{remember-finalize} saves the note in @file{~/.notes}. 206By default, @code{remember-finalize} saves the note in @file{~/emacs.d/notes}.
207You can edit it now to see the remembered and timestamped note. You 207You can edit it now to see the remembered and timestamped note. You
208can edit this file however you want. New entries will always be added 208can edit this file however you want. New entries will always be added
209to the end. 209to the end.
@@ -213,7 +213,7 @@ remember} displays a @samp{*Remember*} buffer with the region as the
213initial contents. 213initial contents.
214 214
215As a simple beginning, you can start by using the Text File backend, 215As a simple beginning, you can start by using the Text File backend,
216keeping your @file{~/.notes} file in outline-mode format, with a final 216keeping your @file{~/.emacs.d/notes} file in outline-mode format, with a final
217entry called @samp{* Raw data}. Remembered data will be added to the 217entry called @samp{* Raw data}. Remembered data will be added to the
218end of the file. Every so often, you can move the data that gets 218end of the file. Every so often, you can move the data that gets
219appended there into other files, or reorganize your document. 219appended there into other files, or reorganize your document.
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index 40701054d5a..367ed2adb4c 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -1863,7 +1863,7 @@ The following Ex commands are available in Vi, but not implemented in VIP.
1863@node Customization 1863@node Customization
1864@chapter Customization 1864@chapter Customization
1865 1865
1866If you have a file called @file{.vip} in your home directory, then it 1866If you have a file called @file{~/.emacs.d/vip} (or @file{~/.vip}), then it
1867will also be loaded when VIP is loaded. This file is thus useful for 1867will also be loaded when VIP is loaded. This file is thus useful for
1868customizing VIP. 1868customizing VIP.
1869 1869
@@ -1903,7 +1903,7 @@ if @code{nil} then it sis bound to @code{delete-backward-char}.
1903@end table 1903@end table
1904@noindent 1904@noindent
1905You can reset these constants in VIP by the Ex command @kbd{set}. Or you 1905You can reset these constants in VIP by the Ex command @kbd{set}. Or you
1906can include a line like this in your @file{.vip} file: 1906can include a line like this in your @file{~/.emacs.d/vip} file:
1907@example 1907@example
1908(setq vip-case-fold-search t) 1908(setq vip-case-fold-search t)
1909@end example 1909@end example
@@ -1916,8 +1916,8 @@ can include a line like this in your @file{.vip} file:
1916VIP uses @code{vip-command-mode-map} as the @dfn{local keymap} for vi mode. 1916VIP uses @code{vip-command-mode-map} as the @dfn{local keymap} for vi mode.
1917For example, in vi mode, @key{SPC} is bound to the function 1917For example, in vi mode, @key{SPC} is bound to the function
1918@code{vip-scroll}. But, if you wish to make @key{SPC} and some other keys 1918@code{vip-scroll}. But, if you wish to make @key{SPC} and some other keys
1919 behave like Vi, you can include the following lines in your @file{.vip} 1919 behave like Vi, you can include the following lines in your
1920file. 1920@file{~/.emacs.d/vip} file.
1921 1921
1922@example 1922@example
1923(define-key vip-command-mode-map "\C-g" 'vip-info-on-file) 1923(define-key vip-command-mode-map "\C-g" 'vip-info-on-file)
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi
index 0048d1363f3..ee3a4d057ee 100644
--- a/doc/misc/viper.texi
+++ b/doc/misc/viper.texi
@@ -170,8 +170,8 @@ world of Vi! These users are well familiar with Emacs bindings and prefer them
170in some cases, especially in the Vi Insert state. John Hawkins 170in some cases, especially in the Vi Insert state. John Hawkins
171<jshawkin@@eecs.umich.edu> has provided a set of customizations, which 171<jshawkin@@eecs.umich.edu> has provided a set of customizations, which
172enables additional Emacs bindings under Viper. These customizations can be 172enables additional Emacs bindings under Viper. These customizations can be
173included in your @file{~/.viper} file and are found at the following URL: 173included in your @file{~/.emacs.d/viper} file and are found at the
174@file{http://traeki.freeshell.org/files/viper-sample}. 174following URL: @file{http://traeki.freeshell.org/files/viper-sample}.
175 175
176@menu 176@menu
177* Emacs Preliminaries:: Basic concepts in Emacs. 177* Emacs Preliminaries:: Basic concepts in Emacs.
@@ -329,14 +329,14 @@ the place where all general Emacs customization takes place. Beginning with
329version 20.0, Emacsen have an interactive interface, which simplifies the 329version 20.0, Emacsen have an interactive interface, which simplifies the
330job of customization significantly. 330job of customization significantly.
331 331
332Viper also uses the file @file{~/.viper} for Viper-specific customization. 332Viper also uses the file @file{~/.emacs.d/viper} for Viper-specific customization.
333The location of Viper customization file can be changed by setting the 333The location of Viper customization file can be changed by setting the
334variable @code{viper-custom-file-name} in @file{.emacs} @emph{prior} to loading 334variable @code{viper-custom-file-name} in @file{.emacs} @emph{prior} to loading
335Viper. 335Viper.
336 336
337The latest versions of Emacs have an interactive customization facility, 337The latest versions of Emacs have an interactive customization facility,
338which allows you to (mostly) bypass the use of the @file{.emacs} and 338which allows you to (mostly) bypass the use of the @file{.emacs} and
339@file{.viper} files. You can reach this customization 339@code{viper-custom-file-name} files. You can reach this customization
340facility from within Viper's VI state by executing the Ex command 340facility from within Viper's VI state by executing the Ex command
341@kbd{:customize}. 341@kbd{:customize}.
342 342
@@ -611,8 +611,8 @@ is slightly different from other programs. It is designed to minimize the
611need for deleting file names that Emacs provides in its prompts. (This is 611need for deleting file names that Emacs provides in its prompts. (This is
612usually convenient, but occasionally the prompt may suggest a wrong file 612usually convenient, but occasionally the prompt may suggest a wrong file
613name for you.) If you see a prompt @kbd{/usr/foo/} and you wish to edit the 613name for you.) If you see a prompt @kbd{/usr/foo/} and you wish to edit the
614file @kbd{~/.viper}, you don't have to erase the prompt. Instead, simply 614file @kbd{~/.file}, you don't have to erase the prompt. Instead, simply
615continue typing what you need. Emacs will interpret @kbd{/usr/foo/~/.viper} 615continue typing what you need. Emacs will interpret @kbd{/usr/foo/~/.file}
616correctly. Similarly, if the prompt is @kbd{~/foo/} and you need to get to 616correctly. Similarly, if the prompt is @kbd{~/foo/} and you need to get to
617@kbd{/bar/file}, keep typing. Emacs interprets @kbd{~/foo//bar/} as 617@kbd{/bar/file}, keep typing. Emacs interprets @kbd{~/foo//bar/} as
618@kbd{/bar/file}, since when it sees @samp{//}, it understands that 618@kbd{/bar/file}, since when it sees @samp{//}, it understands that
@@ -795,8 +795,8 @@ between the Vi state and Insert state at will, and even use the replace mode.
795Initially, the minibuffer comes up in Insert state. 795Initially, the minibuffer comes up in Insert state.
796 796
797Some users prefer plain Emacs bindings in the minibuffer. To this end, set 797Some users prefer plain Emacs bindings in the minibuffer. To this end, set
798@code{viper-vi-style-in-minibuffer} to @code{nil} in @file{.viper}. 798@code{viper-vi-style-in-minibuffer} to @code{nil} in
799@xref{Customization}, to learn how to do this. 799your Viper customization file. @xref{Customization}, to learn how to do this.
800 800
801When the minibuffer changes Viper states, you will notice that the appearance 801When the minibuffer changes Viper states, you will notice that the appearance
802of the text there changes as well. This is useful because the minibuffer 802of the text there changes as well. This is useful because the minibuffer
@@ -989,8 +989,8 @@ In the Overview chapter, some Multiple File issues were discussed
989(@pxref{Multiple Files in Viper}). In addition to the files, Emacs has 989(@pxref{Multiple Files in Viper}). In addition to the files, Emacs has
990buffers. These can be seen in the @kbd{:args} list and switched using 990buffers. These can be seen in the @kbd{:args} list and switched using
991@kbd{:next} if you type @kbd{:set ex-cycle-through-non-files t}, or 991@kbd{:next} if you type @kbd{:set ex-cycle-through-non-files t}, or
992specify @code{(setq ex-cycle-through-non-files t)} in your @file{.viper} 992specify @code{(setq ex-cycle-through-non-files t)} in your
993file. @xref{Customization}, for details. 993Viper customization file. @xref{Customization}, for details.
994 994
995@node Undo and Backups 995@node Undo and Backups
996@section Undo and Backups 996@section Undo and Backups
@@ -1132,7 +1132,8 @@ of the form @kbd{/foo//bar} as @kbd{/bar} and @kbd{/foo/~/bar} as
1132@cindex word search 1132@cindex word search
1133 1133
1134Viper provides buffer search, the ability to search the buffer for a region 1134Viper provides buffer search, the ability to search the buffer for a region
1135under the cursor. You have to turn this on in @file{.viper} either by calling 1135under the cursor. You have to turn this on in your Viper customization file
1136either by calling
1136 1137
1137@example 1138@example
1138(viper-buffer-search-enable) 1139(viper-buffer-search-enable)
@@ -1182,10 +1183,10 @@ variable that controls how search patterns are highlighted is
1182@end example 1183@end example
1183@vindex @code{viper-search-face} 1184@vindex @code{viper-search-face}
1184@noindent 1185@noindent
1185in @file{~/.viper}. If you want to change how patterns are highlighted, you 1186in your Viper customization file. If you want to change how patterns are
1186will have to change @code{viper-search-face} to your liking. The easiest 1187highlighted, you will have to change @code{viper-search-face} to your liking.
1187way to do this is to use Emacs customization widget, which is accessible 1188The easiest way to do this is to use Emacs customization widget, which is
1188from the menubar. Viper customization group is located under the 1189accessible from the menubar. Viper customization group is located under the
1189@emph{Emulations} customization group, which in turn is under the 1190@emph{Emulations} customization group, which in turn is under the
1190@emph{Editing} group (or simply by typing @kbd{:customize}). All Viper 1191@emph{Editing} group (or simply by typing @kbd{:customize}). All Viper
1191faces are grouped together under Viper's 1192faces are grouped together under Viper's
@@ -1225,8 +1226,8 @@ Facilities like this make Vi's @kbd{:ab} command obsolete.
1225 1226
1226Viper can be set free from the line--limited movements in Vi, such as @kbd{l} 1227Viper can be set free from the line--limited movements in Vi, such as @kbd{l}
1227refusing to move beyond the line, @key{ESC} moving one character back, 1228refusing to move beyond the line, @key{ESC} moving one character back,
1228etc. These derive from Ex, which is a line editor. If your @file{.viper} 1229etc. These derive from Ex, which is a line editor. If your
1229contains 1230Viper customization file contains
1230 1231
1231@example 1232@example
1232@code{(setq viper-ex-style-motion nil)} 1233@code{(setq viper-ex-style-motion nil)}
@@ -1306,9 +1307,10 @@ These two keys invoke many important Emacs functions. For example, if you
1306hit @kbd{C-x} followed by @kbd{2}, then the current window will be split 1307hit @kbd{C-x} followed by @kbd{2}, then the current window will be split
1307into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs 1308into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs
1308command from the current major mode. @key{ESC} will do the same, if you 1309command from the current major mode. @key{ESC} will do the same, if you
1309configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to @code{nil} 1310configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to
1310in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi 1311@code{nil} in your Viper customization file. @xref{Customization}.
1311states will make Emacs think @kbd{Meta} has been hit. 1312@kbd{C-\} in Insert, Replace, or Vi states will make Emacs think
1313@kbd{Meta} has been hit.
1312@item \ 1314@item \
1313@kindex @kbd{\} 1315@kindex @kbd{\}
1314Escape to Emacs to execute a single Emacs command. For instance, 1316Escape to Emacs to execute a single Emacs command. For instance,
@@ -1574,9 +1576,9 @@ Customization can be done in 2 ways.
1574@item 1576@item
1575@cindex initialization 1577@cindex initialization
1576@cindex .viper 1578@cindex .viper
1577Elisp code in a @file{.viper} file in your home directory. Viper 1579Elisp code in a @file{~/.emacs.d/viper} (or @file{~/.viper}) file.
1578loads @file{.viper} just before it does the binding for mode 1580Viper loads this file just before it does the binding for mode hooks.
1579hooks. This is recommended for experts only. 1581This is recommended for experts only.
1580@item 1582@item
1581@cindex .emacs 1583@cindex .emacs
1582Elisp code in your @file{.emacs} file before and after the @code{(require 1584Elisp code in your @file{.emacs} file before and after the @code{(require
@@ -1591,12 +1593,12 @@ customization widget, which lets you change the values of Viper
1591customizable variables easily. This method is good for novice and 1593customizable variables easily. This method is good for novice and
1592experts alike. The customization code in the form of Lisp commands will be 1594experts alike. The customization code in the form of Lisp commands will be
1593placed in @file{~/.emacs} or some other customization file depending on the 1595placed in @file{~/.emacs} or some other customization file depending on the
1594version of Emacs that you use. Still, it is recommended to separate 1596version of Emacs that you use. Still, it is recommended to separate
1595Viper-related customization produced by the Emacs customization widget 1597Viper-related customization produced by the Emacs customization widget
1596and keep it in the @file{.viper} file. 1598and keep it in your Viper customization file.
1597 1599
1598Some advanced customization cannot be accomplished this way, however, and 1600Some advanced customization cannot be accomplished this way, however, and
1599has to be done in Emacs Lisp in the @file{.viper} file. For the common 1601has to be done in Emacs Lisp in your Viper customization file. For the common
1600cases, examples are provided that you can use directly. 1602cases, examples are provided that you can use directly.
1601@end itemize 1603@end itemize
1602 1604
@@ -1753,10 +1755,10 @@ cases. @code{nil} means you either has to invoke @code{viper-mode} manually
1753for each buffer (or you can add @code{viper-mode} to the appropriate major mode 1755for each buffer (or you can add @code{viper-mode} to the appropriate major mode
1754hooks using @code{viper-load-hook}). 1756hooks using @code{viper-load-hook}).
1755 1757
1756This option must be set in the file @file{~/.viper}. 1758This option must be set in your Viper customization file.
1757@item viper-custom-file-name "~/.viper" 1759@item viper-custom-file-name "~/.emacs.d/viper"
1758File used for Viper-specific customization. 1760File used for Viper-specific customization.
1759Change this setting, if you want. Must be set in @file{.emacs} (not @file{.viper}!) 1761Change this setting, if you want. Must be set in @file{.emacs}
1760before Viper is loaded. Note that you 1762before Viper is loaded. Note that you
1761have to set it as a string inside double quotes. 1763have to set it as a string inside double quotes.
1762@item viper-spell-function 'ispell-region 1764@item viper-spell-function 'ispell-region
@@ -1807,8 +1809,8 @@ Both these macros are bound (as Viper macros) to
1807@code{viper-repeat-from-history}, 1809@code{viper-repeat-from-history},
1808which checks the second key by which it is invoked to see which of the 1810which checks the second key by which it is invoked to see which of the
1809previous commands to invoke. Viper binds @kbd{f12 1} and @kbd{f12 2} only, 1811previous commands to invoke. Viper binds @kbd{f12 1} and @kbd{f12 2} only,
1810but the user can bind more in @file{~/.viper}. @xref{Vi Macros}, for how to do 1812but the user can bind more in his/her Viper customization file.
1811this. 1813@xref{Vi Macros}, for how to do this.
1812@item viper-keep-point-on-undo nil 1814@item viper-keep-point-on-undo nil
1813If not @code{nil}, Viper tries to not move point when undoing commands. 1815If not @code{nil}, Viper tries to not move point when undoing commands.
1814Instead, it will briefly move the cursor to the place where change has 1816Instead, it will briefly move the cursor to the place where change has
@@ -1873,7 +1875,7 @@ emulate the standard Vi behavior, which supports only intra-line
1873replacement regions (and multi-line replacement regions are deleted). 1875replacement regions (and multi-line replacement regions are deleted).
1874@item viper-toggle-key "\C-z" 1876@item viper-toggle-key "\C-z"
1875Specifies the key used to switch from Emacs to Vi and back. 1877Specifies the key used to switch from Emacs to Vi and back.
1876Must be set in @file{.viper}. This variable can't be 1878Must be set in your Viper customization file. This variable can't be
1877changed interactively after Viper is loaded. 1879changed interactively after Viper is loaded.
1878 1880
1879In Insert state, this key acts as a temporary escape to Vi state, i.e., it 1881In Insert state, this key acts as a temporary escape to Vi state, i.e., it
@@ -1906,7 +1908,7 @@ the last chance to do customization before Viper is up and running.
1906@noindent 1908@noindent
1907You can reset some of these constants in Viper with the Ex command @kbd{:set} 1909You can reset some of these constants in Viper with the Ex command @kbd{:set}
1908(when so indicated in the table). Or you 1910(when so indicated in the table). Or you
1909can include a line like this in your @file{.viper} file: 1911can include a line like this in your Viper customization file:
1910@example 1912@example
1911(setq viper-case-fold-search t) 1913(setq viper-case-fold-search t)
1912@end example 1914@end example
@@ -2018,7 +2020,7 @@ state.
2018If you want to 2020If you want to
2019bind a key, say @kbd{C-v}, to the function that scrolls 2021bind a key, say @kbd{C-v}, to the function that scrolls
2020page down and to make @kbd{0} display information on the current buffer, 2022page down and to make @kbd{0} display information on the current buffer,
2021putting this in @file{.viper} will do the trick in Vi state: 2023putting this in your Viper customization file will do the trick in Vi state:
2022@example 2024@example
2023(define-key viper-vi-global-user-map "\C-v" 'scroll-down) 2025(define-key viper-vi-global-user-map "\C-v" 'scroll-down)
2024@end example 2026@end example
@@ -2067,11 +2069,12 @@ keys necessary in that keymap, and put
2067@end example 2069@end example
2068 2070
2069@noindent 2071@noindent
2070in @file{~/.viper}. To do the same in Vi and Insert states, you should use 2072in your Viper customization file. To do the same in Vi and Insert states, you
2071@code{vi-state} and @code{insert-state}. Changes in Insert state are also 2073should use @code{vi-state} and @code{insert-state}. Changes in Insert state
2072in effect in Replace state. For instance, suppose that the user wants to 2074are also in effect in Replace state. For instance, suppose that the user wants
2073use @kbd{dd} in Vi state under Dired mode to delete files, @kbd{u} to unmark 2075to use @kbd{dd} in Vi state under Dired mode to delete files, @kbd{u} to unmark
2074files, etc. The following code in @file{~/.viper} will then do the job: 2076files, etc. The following code in the Viper customization file will then do
2077the job:
2075 2078
2076@example 2079@example
2077(setq my-dired-modifier-map (make-sparse-keymap)) 2080(setq my-dired-modifier-map (make-sparse-keymap))
@@ -2275,7 +2278,7 @@ can happen only in the beginning, when the minor mode kicks in. Typing
2275several such minor modes and takes care of them, so the above trick 2278several such minor modes and takes care of them, so the above trick
2276is usually not necessary. If you find that some minor mode, e.g., 2279is usually not necessary. If you find that some minor mode, e.g.,
2277@code{nasty-mode} interferes with Viper, putting the following in 2280@code{nasty-mode} interferes with Viper, putting the following in
2278@file{.viper} should fix the problem: 2281your Viper customization file should fix the problem:
2279@lisp 2282@lisp
2280(viper-harness-minor-mode "nasty-mode") 2283(viper-harness-minor-mode "nasty-mode")
2281@end lisp 2284@end lisp
@@ -2332,8 +2335,8 @@ document. Other features are explained here.
2332@item viper-buffer-search-char nil 2335@item viper-buffer-search-char nil
2333Enable buffer search. Explicit call to @code{viper-buffer-search-enable} 2336Enable buffer search. Explicit call to @code{viper-buffer-search-enable}
2334sets @code{viper-buffer-search-char} to @kbd{g}. Alternatively, the user can 2337sets @code{viper-buffer-search-char} to @kbd{g}. Alternatively, the user can
2335set @code{viper-buffer-search-char} in @file{.viper} to a key sequence 2338set @code{viper-buffer-search-char} in his/her Viper customization file to a key
2336to be used for buffer search. There is no need to call 2339sequence to be used for buffer search. There is no need to call
2337@code{viper-buffer-search-enable} in that case. 2340@code{viper-buffer-search-enable} in that case.
2338@findex @code{viper-buffer-search-enable} 2341@findex @code{viper-buffer-search-enable}
2339@vindex @code{viper-buffer-search-char} 2342@vindex @code{viper-buffer-search-char}
@@ -2356,8 +2359,8 @@ If you hit something other than @kbd{/} after the first @kbd{/} or if the
2356second @kbd{/} doesn't follow quickly enough, then Viper will issue the 2359second @kbd{/} doesn't follow quickly enough, then Viper will issue the
2357usual prompt @kbd{/} and will wait for input, as usual in Vi. 2360usual prompt @kbd{/} and will wait for input, as usual in Vi.
2358If you don't like this behavior, you can ``unrecord'' these macros in your 2361If you don't like this behavior, you can ``unrecord'' these macros in your
2359@file{~/.viper} file. For instance, if you don't like the above feature, put 2362Viper customization file. For instance, if you don't like the above
2360this in @file{~/.viper}: 2363feature, put this in the file:
2361@example 2364@example
2362(viper-set-searchstyle-toggling-macros 'undefine) 2365(viper-set-searchstyle-toggling-macros 'undefine)
2363@end example 2366@end example
@@ -2444,7 +2447,7 @@ the direction of newer insertions. Hitting @kbd{C-c M-p} or @kbd{C-c M-n}
2444in succession 2447in succession
2445will undo the previous insertion from the ring and insert the next item on 2448will undo the previous insertion from the ring and insert the next item on
2446the ring. If a larger ring size is needed, change the value of the above 2449the ring. If a larger ring size is needed, change the value of the above
2447variable in the @file{~/.viper} file. 2450variable in the Viper customization file.
2448 2451
2449Since typing these sequences of keys may be tedious, it is suggested that the 2452Since typing these sequences of keys may be tedious, it is suggested that the
2450user should bind a function key, such as @kbd{f31}, as follows: 2453user should bind a function key, such as @kbd{f31}, as follows:
@@ -2515,7 +2518,7 @@ putting
2515(copy-face 'default 'viper-minibuffer-insert-face) 2518(copy-face 'default 'viper-minibuffer-insert-face)
2516(copy-face 'default 'viper-minibuffer-emacs-face) 2519(copy-face 'default 'viper-minibuffer-emacs-face)
2517@end example 2520@end example
2518in the @file{~/.viper} file or through the customization widget, as 2521in their Viper customization file or through the customization widget, as
2519described above. However, in that case, the user will not have any 2522described above. However, in that case, the user will not have any
2520indication of the current Viper state in the minibuffer. (This is important 2523indication of the current Viper state in the minibuffer. (This is important
2521if the user accidentally switches to another Viper state by typing @key{ESC} or 2524if the user accidentally switches to another Viper state by typing @key{ESC} or
@@ -2587,8 +2590,8 @@ Note: while loading initially, Viper binds this mouse action only if it is
2587not already bound to something else. If you want to use the mouse-search 2590not already bound to something else. If you want to use the mouse-search
2588feature, and the @kbd{Meta-Shift-Mouse-1} mouse action is already bound to 2591feature, and the @kbd{Meta-Shift-Mouse-1} mouse action is already bound to
2589something else, you can rebind the mouse-search feature by setting 2592something else, you can rebind the mouse-search feature by setting
2590@code{viper-mouse-search-key} to something else in your @code{~/.viper} 2593@code{viper-mouse-search-key} to something else in
2591file: 2594your Viper customization file:
2592@lisp 2595@lisp
2593(setq viper-mouse-search-key '(meta 1)) 2596(setq viper-mouse-search-key '(meta 1))
2594@end lisp 2597@end lisp
@@ -2600,7 +2603,8 @@ Meta key and clicking mouse button 1. The allowed values of
2600 2603
2601If the requested mouse action (e.g., (meta 1)) is already taken for other 2604If the requested mouse action (e.g., (meta 1)) is already taken for other
2602purposes then you have to confirm your intention by placing the following 2605purposes then you have to confirm your intention by placing the following
2603command in @code{~/.viper} after setting @code{viper-mouse-search-key}: 2606command in your Viper customization file after setting
2607@code{viper-mouse-search-key}:
2604@lisp 2608@lisp
2605(viper-bind-mouse-search-key 'force) 2609(viper-bind-mouse-search-key 'force)
2606@end lisp 2610@end lisp
@@ -2642,13 +2646,13 @@ case of a triple-click, the prefix argument is ignored.)
2642Note: while loading initially, Viper binds this mouse action only if it not 2646Note: while loading initially, Viper binds this mouse action only if it not
2643already bound to something else. If you want to use this feature and the 2647already bound to something else. If you want to use this feature and the
2644default mouse action is already bound, you can rebind mouse-insert by 2648default mouse action is already bound, you can rebind mouse-insert by
2645placing this command in @code{~/.viper}: 2649placing this command in your Viper customization file:
2646@lisp 2650@lisp
2647(setq viper-mouse-insert-key '(meta 2)) 2651(setq viper-mouse-insert-key '(meta 2))
2648@end lisp 2652@end lisp
2649If you want to bind mouse-insert to an action even if this action is 2653If you want to bind mouse-insert to an action even if this action is
2650already taken for other purposes in Emacs, then you should add this command 2654already taken for other purposes in Emacs, then you should add this command
2651to @code{~/.viper}, after setting @code{viper-mouse-insert-key}: 2655to your Viper customization file, after setting @code{viper-mouse-insert-key}:
2652@lisp 2656@lisp
2653(viper-bind-mouse-insert-key 'force) 2657(viper-bind-mouse-insert-key 'force)
2654@end lisp 2658@end lisp
@@ -2785,7 +2789,7 @@ Manual}.
2785When the user finishes defining a macro (which is done by typing @kbd{C-x)}, 2789When the user finishes defining a macro (which is done by typing @kbd{C-x)},
2786a departure from Vi), you will be asked whether you want this 2790a departure from Vi), you will be asked whether you want this
2787macro to be global, mode-specific, or buffer-specific. You will also be 2791macro to be global, mode-specific, or buffer-specific. You will also be
2788given a chance to save the macro in your @file{~/.viper} file. 2792given a chance to save the macro in your Viper customization file.
2789This is the easiest way to save a macro and make 2793This is the easiest way to save a macro and make
2790it permanently available. If you work your startup files with bare hands, 2794it permanently available. If you work your startup files with bare hands,
2791here is how Viper saves the above macro so that it will be 2795here is how Viper saves the above macro so that it will be
@@ -2834,8 +2838,8 @@ the latter says that the macro is to be defined for all buffers
2834 2838
2835For convenience, Viper also lets you define Vi-style macros in its Emacs 2839For convenience, Viper also lets you define Vi-style macros in its Emacs
2836state. There is no Ex command, like @kbd{:map} and @kbd{:map!} for doing 2840state. There is no Ex command, like @kbd{:map} and @kbd{:map!} for doing
2837this, but the user can include such a macro in the @file{~/.viper} file. The 2841this, but the user can include such a macro in the Viper customization file.
2838only thing is that the @code{viper-record-kbd-macro} command should specify 2842The only thing is that the @code{viper-record-kbd-macro} command should specify
2839@code{emacs-state} instead of @code{vi-state} or @code{insert-state}. 2843@code{emacs-state} instead of @code{vi-state} or @code{insert-state}.
2840 2844
2841The user can get rid of a macro either by using the Ex commands @kbd{:unmap} 2845The user can get rid of a macro either by using the Ex commands @kbd{:unmap}
@@ -2899,8 +2903,9 @@ Vi and Emacs commands, so that you could see what will happen each time the
2899macro is executed. Suppose now we wanted to bind the key sequence 2903macro is executed. Suppose now we wanted to bind the key sequence
2900@kbd{f13 f13} to the command @code{eval-last-sexp}. To accomplish this, we 2904@kbd{f13 f13} to the command @code{eval-last-sexp}. To accomplish this, we
2901can type @kbd{M-x eval-last-sexp} followed by @kbd{C-x )}. 2905can type @kbd{M-x eval-last-sexp} followed by @kbd{C-x )}.
2902If you answer positively to Viper's offer to save this macro in @file{~/.viper} 2906If you answer positively to Viper's offer to save this macro in your
2903for future uses, the following will be inserted in that file: 2907Viper customization file for future uses, the following will be inserted
2908in that file:
2904 2909
2905@example 2910@example
2906(viper-record-kbd-macro [f16 f16] 'vi-state 2911(viper-record-kbd-macro [f16 f16] 'vi-state
@@ -2972,8 +2977,8 @@ The rate at which the user must type keys in order for them to be
2972recognized as a timeout macro is controlled by the variable 2977recognized as a timeout macro is controlled by the variable
2973@code{viper-fast-keyseq-timeout}, which defaults to 200 milliseconds. 2978@code{viper-fast-keyseq-timeout}, which defaults to 200 milliseconds.
2974 2979
2975For the most part, Viper macros defined in @file{~/.viper} can be shared 2980For the most part, Viper macros defined in the Viper customization file can
2976between X and TTY modes. 2981be shared between X and TTY modes.
2977The problem with TTY may be that the function keys there generate sequences 2982The problem with TTY may be that the function keys there generate sequences
2978of events instead of a single event (as under a window system). 2983of events instead of a single event (as under a window system).
2979Emacs maps some of these sequences back to the logical keys 2984Emacs maps some of these sequences back to the logical keys
@@ -3359,7 +3364,8 @@ this function.
3359Find the next bracket/parenthesis/brace and go to its match. 3364Find the next bracket/parenthesis/brace and go to its match.
3360By default, Viper ignores brackets/parentheses/braces that occur inside 3365By default, Viper ignores brackets/parentheses/braces that occur inside
3361parentheses. You can change this by setting 3366parentheses. You can change this by setting
3362@code{viper-parse-sexp-ignore-comments} to @code{nil} in your @file{.viper} file. 3367@code{viper-parse-sexp-ignore-comments} to @code{nil} in your Viper
3368customization file.
3363This option can also be toggled interactively if you quickly hit @kbd{%%%}. 3369This option can also be toggled interactively if you quickly hit @kbd{%%%}.
3364 3370
3365This latter feature is implemented as a vi-style keyboard macro. If you 3371This latter feature is implemented as a vi-style keyboard macro. If you
@@ -3370,7 +3376,7 @@ don't want this macro, put
3370@end example 3376@end example
3371@findex @code{viper-set-parsing-style-toggling-macro} 3377@findex @code{viper-set-parsing-style-toggling-macro}
3372 3378
3373in your @file{~/.viper} file. 3379in your Viper customization file.
3374 3380
3375@end table 3381@end table
3376@kindex @kbd{%} 3382@kindex @kbd{%}
@@ -3544,7 +3550,7 @@ then be executed by typing `@kbd{.}'.
3544 3550
3545Since typing the above sequences of keys may be tedious, the 3551Since typing the above sequences of keys may be tedious, the
3546functions doing the perusing can be bound to unused keyboard keys in the 3552functions doing the perusing can be bound to unused keyboard keys in the
3547@file{~/.viper} file. @xref{Viper Specials}, for details. 3553Viper customization file. @xref{Viper Specials}, for details.
3548@end table 3554@end table
3549@kindex @kbd{C-c M-p} 3555@kindex @kbd{C-c M-p}
3550@kindex @kbd{C-c M-n} 3556@kindex @kbd{C-c M-n}
@@ -3984,7 +3990,7 @@ Write the file. Viper makes sure that a final newline is always added to
3984any file where this newline is missing. This is done by setting Emacs 3990any file where this newline is missing. This is done by setting Emacs
3985variable @code{require-final-newline} to @code{t}. If you don't like this 3991variable @code{require-final-newline} to @code{t}. If you don't like this
3986feature, use @code{setq-default} to set @code{require-final-newline} to 3992feature, use @code{setq-default} to set @code{require-final-newline} to
3987@code{nil}. This must be done in @file{.viper} file. 3993@code{nil}. This must be done in the Viper customization file.
3988@item :[x,y] w <name> 3994@item :[x,y] w <name>
3989Write to the file <name>. 3995Write to the file <name>.
3990@item :[x,y] w>> <name> 3996@item :[x,y] w>> <name>