# HG changeset patch # User Glenn Morris # Date 1187767218 0 # Node ID abd3fbb13ad17f53fb98918995eec7c44be5b905 # Parent c4da5f784daaec63e648688d6d607351d99bf08c Move refcards from etc/ to etc/refcards/ diff -r c4da5f784daa -r abd3fbb13ad1 etc/vipcard.tex --- a/etc/vipcard.tex Wed Aug 22 07:20:12 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,684 +0,0 @@ -% Quick Reference Card for VIP 3.5 under GNU Emacs version 18 on Unix systems -%**start of header -\newcount\columnsperpage - -% This file can be printed with 1, 2, or 3 columns per page (see below). -% Specify how many you want here. Nothing else needs to be changed. - -\columnsperpage=1 - -% Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, -% 2006, 2007 Free Software Foundation, Inc. - -% This file is part of GNU Emacs. - -% GNU Emacs is free software; you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 3, or (at your option) -% any later version. - -% GNU Emacs is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. - -% You should have received a copy of the GNU General Public License -% along with GNU Emacs; see the file COPYING. If not, write to -% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -% Boston, MA 02110-1301, USA. - -% This file is intended to be processed by plain TeX (TeX82). -% -% The final reference card has six columns, three on each side. -% This file can be used to produce it in any of three ways: -% 1 column per page -% produces six separate pages, each of which needs to be reduced to 80%. -% This gives the best resolution. -% 2 columns per page -% produces three already-reduced pages. -% You will still need to cut and paste. -% 3 columns per page -% produces two pages which must be printed sideways to make a -% ready-to-use 8.5 x 11 inch reference card. -% For this you need a dvi device driver that can print sideways. -% Which mode to use is controlled by setting \columnsperpage above. -% -% Author: -% Masahiko Sato -% Internet: ms@sail.stanford.edu -% Junet: masahiko@sato.riec.tohoku.junet -% -% The original TeX code for formatting the reference card was written by: -% Stephen Gildea -% UUCP: mit-erl!gildea -% Internet: gildea@stop.mail-abuse.org - - -\def\versionnumber{1.2} -\def\year{2007} -\def\version{September 2006\ v\versionnumber} - -\def\shortcopyrightnotice{\vskip 1ex plus 2 fill - \centerline{\small \copyright\ \year\ Free Software Foundation, Inc. - Permissions on back. v\versionnumber}} - -\def\copyrightnotice{ -%\vskip 1ex plus 2 fill\begingroup\small -\vskip 1ex \begingroup\small -\centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.} -\centerline{designed by Masahiko Sato, \version} -\centerline{for VIP 3.5 under GNU Emacs version 18 on Unix systems} - -Permission is granted to make and distribute copies of -this card provided the copyright notice and this permission notice -are preserved on all copies. - -For copies of the GNU Emacs manual, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -\endgroup} - -% make \bye not \outer so that the \def\bye in the \else clause below -% can be scanned without complaint. -\def\bye{\par\vfill\supereject\end} - -\newdimen\intercolumnskip -\newbox\columna -\newbox\columnb - -\def\ncolumns{\the\columnsperpage} - -\message{[\ncolumns\space - column\if 1\ncolumns\else s\fi\space per page]} - -\def\scaledmag#1{ scaled \magstep #1} - -% This multi-way format was designed by Stephen Gildea -% October 1986. -% Slightly modified by Masahiko Sato, September 1987. -\if 1\ncolumns - \hsize 4in - \vsize 10in - %\voffset -.7in - \voffset -.57in - \font\titlefont=\fontname\tenbf \scaledmag3 - \font\headingfont=\fontname\tenbf \scaledmag2 - \font\miniheadingfont=\fontname\tenbf \scaledmag1 % masahiko - \font\smallfont=\fontname\sevenrm - \font\smallsy=\fontname\sevensy - - \footline{\hss\folio} - \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}} -\else - %\hsize 3.2in - %\vsize 7.95in - \hsize 3.41in % masahiko - \vsize 8in % masahiko - \hoffset -.75in - \voffset -.745in - \font\titlefont=cmbx10 \scaledmag2 - \font\headingfont=cmbx10 \scaledmag1 - \font\miniheadingfont=cmbx10 % masahiko - \font\smallfont=cmr6 - \font\smallsy=cmsy6 - \font\eightrm=cmr8 - \font\eightbf=cmbx8 - \font\eightit=cmti8 - \font\eightsl=cmsl8 - \font\eighttt=cmtt8 - \font\eightsy=cmsy8 - \textfont0=\eightrm - \textfont2=\eightsy - \def\rm{\eightrm} - \def\bf{\eightbf} - \def\it{\eightit} - \def\sl{\eightsl} % masahiko - \def\tt{\eighttt} - \normalbaselineskip=.8\normalbaselineskip - \normallineskip=.8\normallineskip - \normallineskiplimit=.8\normallineskiplimit - \normalbaselines\rm %make definitions take effect - - \if 2\ncolumns - \let\maxcolumn=b - \footline{\hss\rm\folio\hss} - \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}} - \else \if 3\ncolumns - \let\maxcolumn=c - \nopagenumbers - \else - \errhelp{You must set \columnsperpage equal to 1, 2, or 3.} - \errmessage{Illegal number of columns per page} - \fi\fi - - %\intercolumnskip=.46in - \intercolumnskip=.19in % masahiko .19x4 + 3.41x3 = 10.99 - \def\abc{a} - \output={% - % This next line is useful when designing the layout. - %\immediate\write16{Column \folio\abc\space starts with \firstmark} - \if \maxcolumn\abc \multicolumnformat \global\def\abc{a} - \else\if a\abc - \global\setbox\columna\columnbox \global\def\abc{b} - %% in case we never use \columnb (two-column mode) - \global\setbox\columnb\hbox to -\intercolumnskip{} - \else - \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi} - \def\multicolumnformat{\shipout\vbox{\makeheadline - \hbox{\box\columna\hskip\intercolumnskip - \box\columnb\hskip\intercolumnskip\columnbox} - \makefootline}\advancepageno} - \def\columnbox{\leftline{\pagebody}} - - \def\bye{\par\vfill\supereject - \if a\abc \else\null\vfill\eject\fi - \if a\abc \else\null\vfill\eject\fi - \end} -\fi - -% we won't be using math mode much, so redefine some of the characters -% we might want to talk about -\catcode`\^=12 -\catcode`\_=12 - -\chardef\\=`\\ -\chardef\{=`\{ -\chardef\}=`\} - -\hyphenation{mini-buf-fer} - -\parindent 0pt -\parskip 1ex plus .5ex minus .5ex - -\def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip} - -\outer\def\newcolumn{\vfill\eject} - -\outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex} - -\outer\def\section#1{\par\filbreak - \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}% - \vskip 2ex plus 1ex minus 1.5ex} - -% masahiko -\outer\def\subsection#1{\par\filbreak - \vskip 2ex plus 2ex minus 2ex {\miniheadingfont #1}\mark{#1}% - \vskip 1ex plus 1ex minus 1.5ex} - -\newdimen\keyindent - -\def\beginindentedkeys{\keyindent=1em} -\def\endindentedkeys{\keyindent=0em} -\endindentedkeys - -\def\paralign{\vskip\parskip\halign} - -\def\<#1>{$\langle${\rm #1}$\rangle$} - -\def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows - -\def\beginexample{\par\leavevmode\begingroup - \obeylines\obeyspaces\parskip0pt\tt} -{\obeyspaces\global\let =\ } -\def\endexample{\endgroup} - -\def\key#1#2{\leavevmode\hbox to \hsize{\vtop - {\hsize=.75\hsize\rightskip=1em - \hskip\keyindent\relax#1}\kbd{#2}\hfil}} - -\newbox\metaxbox -\setbox\metaxbox\hbox{\kbd{M-x }} -\newdimen\metaxwidth -\metaxwidth=\wd\metaxbox - -\def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize - {\hskip\keyindent\relax#1\hfil}% - \hskip -\metaxwidth minus 1fil - \kbd{#2}\hfil}} - -\def\fivecol#1#2#3#4#5{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad - &\kbd{#3}\quad&\kbd{#4}\quad&\kbd{#5}\cr} - -\def\fourcol#1#2#3#4{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad - &\kbd{#3}\quad&\kbd{#4}\quad\cr} - -\def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad - &\kbd{#3}\quad\cr} - -\def\twocol#1#2{\hskip\keyindent\relax\kbd{#1}\hfil&\kbd{#2}\quad\cr} - -\def\twocolkey#1#2#3#4{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad&\relax#3\hfil&\kbd{#4}\quad\cr} - -%**end of header - -\beginindentedkeys - -\title{VIP Quick Reference Card} - -\centerline{(for version 3.5 under GNU Emacs version 18)} - -%\copyrightnotice - -\section{Loading VIP} - -Just type \kbd{M-x vip-mode} followed by \kbd{RET} - -\section{VIP Modes} - -VIP has three modes: {\it emacs mode}, {\it vi mode} and {\it insert mode}. -Mode line tells you which mode you are in. -In emacs mode you can do all the normal GNU Emacs editing. -This card explains only vi mode and insert mode. -{\bf GNU Emacs Reference Card} explains emacs mode. -You can switch modes as follows. - -\key{from emacs mode to vi mode}{C-z} -\key{from vi mode to emacs mode}{C-z} -\metax{from vi mode to insert mode}{i, I, a, A, o, O {\rm or} C-o} -\key{from insert mode to vi mode}{ESC} - -If you wish to be in vi mode just after you startup Emacs, -include the line: - -\hskip 5ex -\kbd{(setq term-setup-hook 'vip-mode)} - -in your \kbd{.emacs} file. -Or, you can put the following alias in your \kbd{.cshrc} file. - -\hskip 5ex -\kbd{alias vip 'emacs \\!* -f vip-mode'} - - -\section{Insert Mode} -Insert mode is like emacs mode except for the following. - -\key{go back to vi mode}{ESC} -\key{delete previous character}{C-h} -\key{delete previous word}{C-w} -\key{emulate \kbd{ESC} key in emacs mode}{C-z} - -The rest of this card explains commands in {\bf vi mode}. - -\section{Getting Information on VIP} - -Execute info command by typing \kbd{M-x info} and select menu item -\kbd{vip}. Also: - -\key{describe function attached to the key {\it x}}{C-h k {\it x}} - -\section{Leaving Emacs} - -\key{suspend Emacs}{X Z {\rm or} :st} -\metax{exit Emacs permanently}{Z Z {\rm or} X C {\rm or} :q} - -\section{Error Recovery} - -\key{abort partially typed or executing command}{C-g} -\key{redraw messed up screen}{C-l} -\metax{{\bf recover} a file lost by a system crash}{M-x recover-file} -\metax{restore a buffer to its original contents}{M-x revert-buffer} - -\shortcopyrightnotice - -\section{Counts} - -Most commands in vi mode accept a {\it count} which can be supplied as a -prefix to the commands. In most cases, if a count is given, the -command is executed that many times. E.g., \kbd{5 d d} deletes 5 -lines. - -%\shortcopyrightnotice -\section{Registers} - -There are 26 registers (\kbd{a} to \kbd{z}) that can store texts -and marks. -You can append a text at the end of a register (say \kbd{x}) by -specifying the register name in capital letter (say \kbd{X}). -There are also 9 read only registers (\kbd{1} to \kbd{9}) that store -up to 9 previous changes. -We will use {\it x\/} to denote a register. -\section{Entering Insert Mode} - -\key{{\bf insert} at point}{i} -\key{{\bf append} after cursor}{a} -\key{{\bf insert} before first non-white}{I} -\key{{\bf append} at end of line}{A} -\key{{\bf open} line below}{o} -\key{{\bf open} line above}{O} -\key{{\bf open} line at point}{C-o} - -\section{Buffers and Windows} - -\key{move cursor to {\bf next} window}{C-n} -\key{delete current window}{X 0} -\key{delete other windows}{X 1} -\key{split current window into two windows}{X 2} -\key{show current buffer in two windows}{X 3} -\key{{\bf switch} to a buffer in the current window}{s {\sl buffer}} -\key{{\bf switch} to a buffer in another window}{S {\sl buffer}} -\key{{\bf kill} a buffer}{K} -\key{list existing {\bf buffers}}{X B} - -\section{Files} - -\metax{{\bf visit} file in the current window}{v {\sl file} {\rm or} :e {\sl file}} -\key{{\bf visit} file in another window}{V {\sl file}} -\key{{\bf save} buffer to the associated file}{X S} -\key{{\bf write} buffer to a specified file}{X W} -\key{{\bf insert} a specified file at point}{X I} -\key{{\bf get} information on the current {\bf file}}{g {\rm or} :f} -\key{run the {\bf directory} editor}{X d} - -\section{Viewing the Buffer} - -\key{scroll to next screen}{SPC {\rm or} C-f} -\key{scroll to previous screen}{RET {\rm or} C-b} -\key{scroll {\bf down} half screen}{C-d} -\key{scroll {\bf up} half screen}{C-u} -\key{scroll down one line}{C-e} -\key{scroll up one line}{C-y} - -\key{put current line on the {\bf home} line}{z H {\rm or} z RET} -\key{put current line on the {\bf middle} line}{z M {\rm or} z .} -\key{put current line on the {\bf last} line}{z L {\rm or} z -} - -\section{Marking and Returning} - -\key{{\bf mark} point in register {\it x}}{m {\it x}} -\key{set mark at buffer beginning}{m <} -\key{set mark at buffer end}{m >} -\key{set mark at point}{m .} -\key{jump to mark}{m ,} -\key{exchange point and mark}{` `} -\key{... and skip to first non-white on line}{' '} -\key{go to mark {\it x}}{` {\it x}} -\key{... and skip to first non-white on line}{' {\it x}} - -\section{Macros} - -\key{start remembering keyboard macro}{X (} -\key{finish remembering keyboard macro}{X )} -\key{call last keyboard macro}{*} -\key{execute macro stored in register {\it x}}{@ {\it x}} - -\section{Motion Commands} - -\key{go backward one character}{h} -\key{go forward one character}{l} -\key{next line keeping the column}{j} -\key{previous line keeping the column}{k} -\key{next line at first non-white}{+} -\key{previous line at first non-white}{-} - -\key{beginning of line}{0} -\key{first non-white on line}{^} -\key{end of line}{\$} -\key{go to {\it n}-th column on line}{{\it n} |} - -\key{go to {\it n}-th line}{{\it n} G} -\key{go to last line}{G} -\key{find matching parenthesis for \kbd{()}, \kbd{\{\}} and \kbd{[]}}{\%} - -\key{go to {\bf home} window line}{H} -\key{go to {\bf middle} window line}{M} -\key{go to {\bf last} window line}{L} - -\subsection{Words, Sentences, Paragraphs} - -\key{forward {\bf word}}{w {\rm or} W} -\key{{\bf backward} word}{b {\rm or} B} -\key{{\bf end} of word}{e {\rm or} E} - -In the case of capital letter commands, a word is delimited by a -non-white character. - -\key{forward sentence}{)} -\key{backward sentence}{(} - -\key{forward paragraph}{\}} -\key{backward paragraph}{\{} - -\subsection{Find Characters on the Line} - -\key{{\bf find} {\it c} forward on line}{f {\it c}} -\key{{\bf find} {\it c} backward on line}{F {\it c}} -\key{up {\bf to} {\it c} forward on line}{t {\it c}} -\key{up {\bf to} {\it c} backward on line}{T {\it c}} -\key{repeat previous \kbd{f}, \kbd{F}, \kbd{t} or \kbd{T}}{;} -\key{... in the opposite direction}{,} - -\newcolumn -\title{VIP Quick Reference Card} - -\section{Searching and Replacing} - -\key{search forward for {\sl pat}}{/ {\sl pat}} -\key{search backward for {\sl pat}}{?\ {\sl pat}} -\key{repeat previous search}{n} -\key{... in the opposite direction}{N} - -\key{incremental {\bf search}}{C-s} -\key{{\bf reverse} incremental search}{C-r} - -\key{{\bf replace}}{R} -\key{{\bf query} replace}{Q} -\key{{\bf replace} a character by another character {\it c}}{r {\it c}} - -\section{Modifying Commands} - -The delete (yank, change) commands explained below accept a motion command as -their argument and delete (yank, change) the region determined by the motion -command. Motion commands are classified into {\it point commands} and -{\it line commands}. In the case of line commands, whole lines will -be affected by the command. Motion commands will be represented by -{\it m} below. - -The point commands are as follows: - -\hskip 5ex -\kbd{h l 0 ^ \$ w W b B e E ( ) / ?\ ` f F t T \% ; ,} - -The line commands are as follows: - -\hskip 5ex -\kbd{j k + - H M L \{ \} G '} - -\subsection{Delete/Yank/Change Commands} - -\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\tabskip=0pt&#\cr -\fourcol{}{{\bf delete}}{{\bf yank}}{{\bf change}} -\fourcol{region determined by {\it m}}{d {\it m}}{y {\it m}}{c {\it m}} -\fourcol{... into register {\it x}}{" {\it x\/} d {\it m}}{" {\it x\/} y {\it m}}{" {\it x\/} c {\it m}} -\fourcol{a line}{d d}{Y {\rm or} y y}{c c} -\fourcol{current {\bf region}}{d r}{y r}{c r} -\fourcol{expanded {\bf region}}{d R}{y R}{c R} -\fourcol{to end of line}{D}{y \$}{c \$} -\fourcol{a character after point}{x}{y l}{c l} -\fourcol{a character before point}{DEL}{y h}{c h} -} - -\subsection{Put Back Commands} - -Deleted/yanked/changed text can be put back by the following commands. - -\key{{\bf Put} back at point/above line}{P} -\key{... from register {\it x}}{" {\it x\/} P} -\key{{\bf put} back after point/below line}{p} -\key{... from register {\it x}}{" {\it x\/} p} - -\subsection{Repeating and Undoing Modifications} - -\key{{\bf undo} last change}{u {\rm or} :und} -\key{repeat last change}{.\ {\rm (dot)}} - -Undo is undoable by \kbd{u} and repeatable by \kbd{.}. -For example, \kbd{u...} will undo 4 previous changes. -A \kbd{.} after \kbd{5dd} is equivalent to \kbd{5dd}, -while \kbd{3.} after \kbd{5dd} is equivalent to \kbd{3dd}. - -\section{Miscellaneous Commands} - -\endindentedkeys - -\paralign to \hsize{#\tabskip=5pt plus 1 fil&#\tabskip=0pt&#\tabskip=0pt&#\tabskip=0pt&#\cr -\fivecol{}{{\bf shift left}}{{\bf shift right}}{{\bf filter shell command}}{{\bf indent}} -\fivecol{region}{< {\it m}}{> {\it m}}{!\ {\it m\/} {\sl shell-com}}{= {\it m}} -\fivecol{line}{< <}{> >}{!\ !\ {\sl shell-com}}{= =} -} - -\key{emulate \kbd{ESC}/\kbd{C-h} in emacs mode}{ESC{\rm /}C-h} -\key{emulate \kbd{C-c}/\kbd{C-x} in emacs mode}{C{\rm /}X} - -\key{{\bf join} lines}{J} - -\key{lowercase region}{\# c {\it m}} -\key{uppercase region}{\# C {\it m}} -\key{execute last keyboard macro on each line in the region}{\# g {\it m}} - -\key{insert specified string for each line in the region}{\# q {\it m}} -\key{check spelling of the words in the region}{\# s {\it m}} - -\section{Differences from Vi} - -\beginindentedkeys - -In VIP some keys behave rather differently from Vi. -The table below lists such keys, and you can get the effect of typing -these keys by typing the corresponding keys in the VIP column. - -\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr -\threecol{}{{\bf Vi}}{{\bf VIP}} -\threecol{forward character}{SPC}{l} -\threecol{backward character}{C-h}{h} -\threecol{next line at first non-white}{RET}{+} -\threecol{delete previous character}{X}{DEL} -\threecol{get information on file}{C-g}{g} -\threecol{substitute characters}{s}{x i} -\threecol{substitute line}{S}{c c} -\threecol{change to end of line}{C {\rm or} R}{c \$} -} - -(Strictly speaking, \kbd{C} and \kbd{R} behave slightly differently in Vi.) - -\section{Customization} - -By default, search is case sensitive. -You can change this by including the following line in your \kbd{.vip} file. - -\hskip 5ex -\kbd{(setq vip-case-fold-search t)} - -\beginindentedkeys - -\paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt&#\cr -\twocol{{\bf variable}}{{\bf default value}} -\twocol{vip-search-wrap-around}{t} -\twocol{vip-case-fold-search}{nil} -\twocol{vip-re-search}{nil} -\twocol{vip-re-replace}{nil} -\twocol{vip-re-query-replace}{nil} -\twocol{vip-open-with-indent}{nil} -\twocol{vip-help-in-insert-mode}{nil} -\twocol{vip-shift-width}{8} -\twocol{vip-tags-file-name}{"TAGS"} -} - -%\subsection{Customizing Key Bindings} - -Include (some of) following lines in your \kbd{.vip} file -to restore Vi key bindings. - -\beginexample -(define-key vip-mode-map "\\C-g" 'vip-info-on-file) -(define-key vip-mode-map "\\C-h" 'vip-backward-char) -(define-key vip-mode-map "\\C-m" 'vip-next-line-at-bol) -(define-key vip-mode-map " " 'vip-forward-char) -(define-key vip-mode-map "g" 'vip-keyboard-quit) -(define-key vip-mode-map "s" 'vip-substitute) -(define-key vip-mode-map "C" 'vip-change-to-eol) -(define-key vip-mode-map "R" 'vip-change-to-eol) -(define-key vip-mode-map "S" 'vip-substitute-line) -(define-key vip-mode-map "X" 'vip-delete-backward-char) -\endexample - -\newcolumn - -\title{Ex Commands in VIP} - -In vi mode, an Ex command is entered by typing: - -\hskip 5ex -\kbd{:\ {\sl ex-command} RET} - -\section{Ex Addresses} - -\paralign to \hsize{#\tabskip=5pt plus 1 fil&#\tabskip=2pt&#\tabskip=5pt plus 1 fil&#\cr -\twocolkey{current line}{.}{next line with {\sl pat}}{/ {\sl pat} /} -\twocolkey{line {\it n}}{{\it n}}{previous line with {\sl pat}}{?\ {\sl pat} ?} -\twocolkey{last line}{\$}{{\it n\/} line before {\it a}}{{\it a} - {\it n}} -\twocolkey{next line}{+}{{\it a\/} through {\it b}}{{\it a\/} , {\it b}} -\twocolkey{previous line}{-}{line marked with {\it x}}{' {\it x}} -\twocolkey{entire buffer}{\%}{previous context}{' '} -} - -Addresses can be specified in front of a command. -For example, - -\hskip 5ex -\kbd{:.,.+10m\$} - -moves 11 lines below current line to the end of buffer. - -\section{Ex Commands} - -\endindentedkeys - -\key{mark lines matching {\sl pat} and execute {\sl cmds} on these lines}{:g /{\sl pat}/ {\sl cmds}} - -\key{mark lines {\it not\/} matching {\sl pat} and execute {\sl cmds} on these lines}{:v /{\sl pat}/ {\sl cmds}} - - -\key{{\bf move} specified lines after {\sl addr}}{:m {\sl addr}} -\key{{\bf copy} specified lines after {\sl addr}}{:co\rm\ (or \kbd{:t})\ \sl addr} -\key{{\bf delete} specified lines [into register {\it x\/}]}{:d {\rm [{\it x\/}]}} -\key{{\bf yank} specified lines [into register {\it x\/}]}{:y {\rm [{\it x\/}]}} -\key{{\bf put} back text [from register {\it x\/}]}{:pu {\rm [{\it x\/}]}} - -\key{{\bf substitute} {\sl repl} for first string on line matching {\sl pat}}{:s /{\sl pat}/{\sl repl}/} - -\key{repeat last substitution}{:\&} -\key{repeat previous substitute with previous search pattern as {\sl pat}}{:\~{}} - -\key{{\bf read} in a file}{:r {\sl file}} -\key{{\bf read} in the output of a shell command}{:r!\ {\sl command}} -\key{write out specified lines into {\sl file}}{:w {\sl file}} -\key{write out specified lines at the end of {\sl file}}{:w>> {\sl file}} -\key{write out and then quit}{:wq {\sl file}} - -\key{define a macro {\it x} that expands to {\sl cmd}}{:map {\it x} {\sl cmd}} -\key{remove macro expansion associated with {\it x}}{:unma {\it x}} - -\key{print line number}{:=} -\key{print {\bf version} number of VIP}{:ve} - -\key{shift specified lines to the right}{:>} -\key{shift specified lines to the left}{:<} - -\key{{\bf join} lines}{:j} -\key{mark specified line to register {\it x}}{:k {\it x}} -\key{{\bf set} a variable's value}{:se} -\key{run a sub{\bf shell} in a window}{:sh} -\key{execute shell command {\sl command}}{:!\ {\sl command}} -\key{find first definition of {\bf tag} {\sl tag}}{:ta {\sl tag}} - - -\copyrightnotice - -\bye - -% Local variables: -% compile-command: "tex refcard" -% End: - -% arch-tag: 342a9548-4de4-499d-b864-74fb426b6729