@end direntry
@ifnottex
-@node Top, Survey,, (DIR)
+@node Top
@top VIP
VIP is a Vi emulating package written in Emacs Lisp. VIP implements most
@code{masahiko@@unsun.riec.tohoku.junet} if you are in Japan.
@end iftex
-@node Survey, Basic Concepts, Top, Top
+@node Survey
@chapter A Survey of VIP
In this chapter we describe basics of VIP with emphasis on the features not
* Differences from Vi:: Differences of VIP from Vi is explained.
@end menu
-@node Basic Concepts, Loading VIP, Survey, Survey
+@node Basic Concepts
@section Basic Concepts
We begin by explaining some basic concepts of Emacs. These concepts are
local map, however, the function bound to the key in the global map becomes
in effect.@refill
-@node Loading VIP, Modes in VIP, Basic Concepts, Survey
+@node Loading VIP
@section Loading VIP
The recommended way to load VIP automatically is to include the line:
@end example
@noindent
-@node Modes in VIP, Emacs Mode, Loading VIP, Survey
+@node Modes in VIP
@section Modes in VIP
@kindex 032 @kbd{C-z} (@code{vip-change-mode-to-vi})
know enough Emacs commands.
@end menu
-@node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP
+@node Emacs Mode
@subsection Emacs Mode
@kindex 032 @kbd{C-z} (@code{vip-change-mode-to-vi})
bound to @code{vip-change-mode-to-vi}. So, if you type @kbd{C-z} in this mode
then you will be in vi mode.@refill
-@node Vi Mode, Insert Mode, Emacs Mode, Modes in VIP
+@node Vi Mode
@subsection Vi Mode
This mode corresponds to Vi's command mode. Most Vi commands work as they
do in Vi. You can go back to emacs mode by typing @kbd{C-z}. You can
enter insert mode, just as in Vi, by typing @kbd{i}, @kbd{a} etc.
-@node Insert Mode, Differences from Vi, Vi Mode, Modes in VIP
+@node Insert Mode
@subsection Insert Mode
The key bindings in this mode is the same as in the emacs mode except for
@kbd{ESC x} in emacs mode.
@end table
-@node Differences from Vi, Undoing, Insert Mode, Survey
+@node Differences from Vi
@section Differences from Vi
The major differences from Vi are explained below.
* Misc Commands:: Other useful commands.
@end menu
-@node Undoing, Changing, Differences from Vi, Differences from Vi
+@node Undoing
@subsection Undoing
@kindex 165 @kbd{u} (@code{vip-undo})
changes. Undo is undoable as in Vi. So the content of the buffer will
be the same before and after @kbd{u u}.@refill
-@node Changing, Searching, Undoing, Differences from Vi
+@node Changing
@subsection Changing
Some commands which change a small number of characters are executed
@kindex 007 @kbd{C-g} (@code{vip-keyboard-quit})
you can abort a partially formed command by typing @kbd{C-g}.@refill
-@node Searching, z Command, Changing, Differences from Vi
+@node Searching
@subsection Searching
@kindex 057 @kbd{/} (@code{vip-search-forward})
the buffer as in Vi. You can change this by rebinding the variable
@code{vip-search-wrap-around}. @xref{Customization}, for how to do this.@refill
-@node z Command, Counts, Searching, Differences from Vi
+@node z Command
@subsection z Command
@kindex 1723 @kbd{z H} (@code{vip-line-to-top})
@kbd{M} and @kbd{L} to place the current line in the Home (Middle, and
Last) line of the window.@refill
-@node Counts, Marking, z Command, Differences from Vi
+@node Counts
@subsection Counts
Some Vi commands which do not accept a count now accept one
Given a count @var{n}, @var{n}-th occurrence will be searched.
@end table
-@node Marking, Region Commands, Counts, Differences from Vi
+@node Marking
@subsection Marking
Typing an @kbd{m} followed by a lower-case character @var{ch} marks the
Jump to mark (and pop mark off the mark ring).
@end table
-@node Region Commands, New Commands, Marking, Differences from Vi
+@node Region Commands
@subsection Region Commands
@cindex region
smallest region containing the original region and consisting of whole
lines. Thus @kbd{m .@: d R} will have the same effect as @kbd{d d}.@refill
-@node New Commands, New Bindings, Region Commands, Differences from Vi
+@node New Commands
@subsection Some New Commands
Note that the keys below (except for @kbd{R}) are not used in Vi.
Call last keyboard macro.
@end table
-@node New Bindings, Window Commands, New Commands, Differences from Vi
+@node New Bindings
@subsection New Key Bindings
In VIP the meanings of some keys are entirely different from Vi. These key
This is equivalent to @kbd{C-x 1 C-x 2} (1 + 2 = 3).
@end table
-@node Window Commands, Buffer Commands, New Bindings, Differences from Vi
+@node Window Commands
@subsection Window Commands
In this and following subsections, we give a summary of key bindings for
Show current buffer in two windows.
@end table
-@node Buffer Commands, File Commands, Window Commands, Differences from Vi
+@node Buffer Commands
@subsection Buffer Commands
@table @kbd
Save the current buffer in the file associated to the buffer.
@end table
-@node File Commands, Misc Commands, Buffer Commands, Differences from Vi
+@node File Commands
@subsection File Commands
@table @kbd
Insert specified file at point.
@end table
-@node Misc Commands, Vi Commands, File Commands, Differences from Vi
+@node Misc Commands
@subsection Miscellaneous Commands
@table @kbd
Replace.
@end table
-@node Vi Commands, Numeric Arguments, Misc Commands, Top
+@node Vi Commands
@chapter Vi Commands
This chapter describes Vi commands other than Ex commands implemented in
* Commands in Insert Mode:: Commands for entering insert mode.
@end menu
-@node Numeric Arguments, Important Keys, Vi Commands, Vi Commands
+@node Numeric Arguments
@section Numeric Arguments
@cindex numeric arguments
For instance, @kbd{5 d d} deletes 5 lines while simple @kbd{d d} deletes a
line. In this manual the metavariable @var{n} will denote a count.@refill
-@node Important Keys, Buffers and Windows, Numeric Arguments, Vi Commands
+@node Important Keys
@section Important Keys
The keys @kbd{C-g} and @kbd{C-l} are unique in that their associated
@samp{+++++} before point.@refill
@end table
-@node Buffers and Windows, Files, Important Keys, Vi Commands
+@node Buffers and Windows
@section Buffers and Windows
@cindex buffer
and you can select it by giving a simple @key{RET}. See GNU Emacs Manual
for details of completion.
-@node Files, Viewing the Buffer, Buffers and Windows, Vi Commands
+@node Files
@section Files
We have the following commands related to files. They are used to visit,
you can type @kbd{X W}. You will then get a similar prompt as you get for
@kbd{v}, to which you can enter the file name.@refill
-@node Viewing the Buffer, Mark Commands, Files, Vi Commands
+@node Viewing the Buffer
@section Viewing the Buffer
In this and next section we discuss commands for moving around in the
Center point in window and redisplay screen (@code{recenter}).
@end table
-@node Mark Commands, Motion Commands, Viewing the Buffer, Vi Commands
+@node Mark Commands
@section Mark Commands
The following commands are used to mark positions in the buffer.
the command `@kbd{m ,}' you can visit older and older marked positions. You
will eventually be in a loop as the mark ring is a ring.
-@node Motion Commands, Searching and Replacing, Mark Commands, Vi Commands
+@node Motion Commands
@section Motion Commands
Commands for moving around in the current buffer are collected here. These
opposite direction (@code{vip-repeat-find-opposite}).
@end table
-@node Searching and Replacing, Modifying Commands, Motion Commands, Vi Commands
+@node Searching and Replacing
@section Searching and Replacing
Following commands are available for searching and replacing.
The commands @kbd{/} and @kbd{?} mark point before move, so that you can
return to the original point by @w{@kbd{` `}}.
-@node Modifying Commands, Delete Commands, Searching and Replacing, Vi Commands
+@node Modifying Commands
@section Modifying Commands
In this section, commands for modifying the content of a buffer are
* Change Commands:: Commands for changing text.
* Repeating and Undoing Modifications::
@end menu
-@node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands
+@node Delete Commands
@subsection Delete Commands
@table @kbd
(@code{vip-delete-backward-char}).
@end table
-@node Yank Commands, Put Back Commands, Delete Commands, Modifying Commands
+@node Yank Commands
@subsection Yank Commands
@cindex yank
Expand current region and yank it.
@end table
-@node Put Back Commands, Change Commands, Yank Commands, Modifying Commands
+@node Put Back Commands
@subsection Put Back Commands
Deleted or yanked texts can be put back into the buffer by the command
below.
specified, @var{n}-th previously deleted/yanked text will be put back. It
is an error to specify a number register for the delete/yank commands.
-@node Change Commands, Repeating and Undoing Modifications, Put Back Commands, Modifying Commands
+@node Change Commands
@subsection Change Commands
Most commonly used change command takes the following form.
Expand current region and change it.
@end table
-@node Repeating and Undoing Modifications, Other Vi Commands, Change Commands, Modifying Commands
+@node Repeating and Undoing Modifications
@subsection Repeating and Undoing Modifications
VIP records the previous modifying command, so that it is easy to repeat
modifying command is used again (@code{vip-repeat}).
@end table
-@node Other Vi Commands, Commands in Insert Mode, Repeating and Undoing Modifications, Vi Commands
+@node Other Vi Commands
@section Other Vi Commands
Miscellaneous Vi commands are collected here.
(@code{kill-region}).
@end table
-@node Commands in Insert Mode, Ex Commands, Other Vi Commands, Vi Commands
+@node Commands in Insert Mode
@section Insert Mode
You can enter insert mode by one of the following commands. In addition to
command will not really repeat insertion if you move point by emacs
commands while in insert mode.
-@node Ex Commands, Ex Command Reference, Commands in Insert Mode, Top
+@node Ex Commands
@chapter Ex Commands
@kindex 072 @kbd{:} (@code{vip-ex})
@menu
* Ex Command Reference:: Explain all the Ex commands available in VIP.
@end menu
-@node Ex Command Reference, Customization, Ex Commands, Ex Commands
+@node Ex Command Reference
@section Ex Command Reference
In this section we briefly explain all the Ex commands supported by VIP@.
Most Ex commands expect @var{address} as their argument, and they use
@kbd{unabbreviate}, @kbd{xit}, @kbd{z}
@end example
-@node Customization, Customizing Constants, Ex Command Reference, Top
+@node Customization
@chapter Customization
If you have a file called @file{.vip} in your home directory, then it
* Customizing Key Bindings:: How to change key bindings.
@end menu
-@node Customizing Constants, Customizing Key Bindings, Customization, Customization
+@node Customizing Constants
@section Customizing Constants
An easy way to customize VIP is to change the values of constants used
in VIP@. Here is the list of the constants used in VIP and their default
(setq vip-case-fold-search t)
@end example
-@node Customizing Key Bindings,, Customizing Constants, Customization
+@node Customizing Key Bindings
@section Customizing Key Bindings
@cindex local keymap
(define-key vip-command-mode-map "X" 'vip-delete-backward-char)
@end example
-@node GNU Free Documentation License,,, Top
+@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include doclicense.texi