Below you will find an example of .vip file which you can place in your home directory. If the file .vip exists in your home directory it will be automatically loaded when vi.el is loaded. You can prepare your own .vip file and use it to customize VIP. I will explain this particluar .vip. Loading .vip below will change the meaning of some keys in vi-mode. - "^g" and "g" In vi, "^g" is used to get information about the file associated to the current buffer. Here, "g" will do that, and "^g" is used to abort a command (this is for compatibility with emacs-mode.) - " " (space) and "^M" (return) Now these keys will scroll up and down the text of current window. Convenient for reading. - "s" and "S" They are used to Switch to a specified buffer. Useful for switching to already existing buffer since buffer name completion is provided. Also a default buffer will be given as part of the prompt, to which you can switch by just hitting a key. "s" is used to select buffer in the current window, while "S" selects buffer in another window. - "C" and "X" These keys will exit from vi-mode and return to emacs-mode temporarily. If you hit "C" ("X"), Emacs will be in emacs-mode and will believe that you hit "^C" ("^X", resp.) in emacs-mode. Moreover, if the following character you hit is an upper case letter, then Emacs will believe that you hit the corresponding control character. You will be in vi-mode again after the command is executed. For example, hitting "XS" in vi-mode is the same as hitting "^X^S" in emacs-mode. You get the same effect by hitting "^X^S" in vi-mode, but the idea here is that you can execute useful Emacs commands without typing control characters. For example, if you hit "^X" followed by "2", then the current window will be splited into 2 and you will be in vi-mode again. In addition to these, "ctl-x-map" is slightly modified: - "^X3" This is equivalent to "^X1^X2" (1 + 2 = 3). Finally, I give a summary of key bindings for basic functions related to files, buffers and windows. [window] "^N" Next window. "X1"*, "^X1" Delete other windows. "X2"*, "^X2" Split current window into two windows. "X3"*, "^X3" Show current buffer in two windows. [buffer] "s"* (vi-switch-to-buffer) Switch to the specified buffer in the current window. "S"* (vi-switch-to-buffer-other-window) Switch to the specified buffer in another window. "K" Kill the current buffer if it is not modified. "XS"*, "^X^S" Save the current buffer in the file associated to the buffer. [file] "v" Visit specified file in the current window. "V" Visit specified file in another window. "XW"*, "^X^W" Write current buffer into the specified file. "Xi"*, "^Xi" Insert specified file after point. [others] "X("*, "^X(" Start remembering keyboard macro. "X)"*, "^X)" Finish remembering keyboard macro. "*" Call last remembered keyboard macro. "^S", "XZ"*, "^X^Z" Suspend Emacs. "Q" Query replace. "R" Replace. Keys marked by * are effective only .vip file below is loaded. ** masahiko (sato@su-russell.arpa) **