2.11BSD/share/learn/vi/L3.4

Compare this file to the similar file:
Show the results in this format:

#print
			Second Review

These are the commands we've seen for making changes to a file:

	i   a = Insert text before ('i') or after ('a') current character
	I   A = Insert text at beginning ('I') or end ('A') of line
	x   X = Delete current ('x') or previous ('X') character
	o   O = Open a new blank line before ('O') or after ('o') current line
	   dd = Delete the current line
	   cc = Change the current line
	r   R = Replace one ('r') or more ('R') characters by overwriting
	    s = Substitute new characters for old ones

   Type 'ready' to go into vi and get some more practice with these
commands.  As before, be sure that you understand how each one works;
they're the ones you'll use every day.
#user
#create Review2

	i   a = Insert text before ('i') or after ('a') current character
	I   A = Insert text at beginning ('I') or end ('A') of line
	x   X = Delete current ('x') or previous ('X') character
	o   O = Open a new blank line before ('O') or after ('o') current line
	   dd = Delete the current line
	   cc = Change the current line
	r   R = Replace one ('r') or more ('R') characters by overwriting
	    s = Substitute new characters for old ones


Here is a set of examples, one per command.  If you don't remember how
something works, you might take a look.
---------------------------------------------------------------------------
EXAMPLES

Command		Explanation
-------		-----------
   i		In the text below, if one wanted to fix the word 'novate'
		so that it read 'renovate', one would move the cursor to
		the 'n' in novate and type 'i' (to go into insert mode),
		're' (to add the fix), and hit Escape (to leave insert mode).

			I'm going to novate my house.
				   ||
				   ||
				   \/
			I'm going to renovate my house.

   a		In the text below, suppose one wanted the word 'searching'
		instead of 'search'.  One could move the cursor to the 'h'
		in search, hit 'a' (to enter insert mode, appending to the
		current character), type 'ing' to add the fix, and hit the
		Escape key (to exit insert mode).

			Chapter Five of this tutorial is on search.
					||
					||
					\/
			Chapter Five of this tutorial is on searching.

   I	A	Strictly speaking, the 'I' and 'A' commands aren't needed
		at all.  One could always just move the cursor to the
		beginning or end of the line and type 'i' or 'a'.  They are
		merely conveniences for when you are somewhere in a line
		and need to insert some text at the front or back of the
		line.  I personally find myself using 'A' constantly, to
		add a period on the end of a sentence that I forgot earlier,
		to continue a sentence that I interrupted, etc.  'I' is less
		frequently-used, but nice at least for completeness.  Anyway,
		here's the example:
		Suppose one wanted to enclose the following C statment in
		a comment.  This involves putting a '/*' on the front and a
		'*/' on the back.  Assume the cursor is somewhere in the
		middle of the line.  One would type 'I' (to go into insert
		mode at the front of the line), '/*' (to add the opening of
		the comment), Escape (to leave insert mode), 'A' (to insert
		at the end of the line), '*/' (to close the comment), and
		Escape again (to again leave insert mode).

			if (getchar() != EOF) count++;
				||
				||
				\/
			/*if (getchar() != EOF) count++;*/

   x   X	In the expression below, suppose one wanted to be rid of the
		'(or -)' phrase.  One could move the cursor to that opening
		parenthesis and type 'xxxxxxx' (i.e. seven x's).  An easier
		way would be to type '7x', which has the same effect.  For
		people used to a back-space style deletion, move the cursor
		to the 's' and type 'XXXXXXX' or '7X'.

			(-b + (or -) sqrt(b*b - 4*a*c)) / (2*a)
				    ||
				    ||
				    \/
			(-b + sqrt(b*b - 4*a*c)) / (2*a)

   o   O	Any time you want to add a line of text to your file, you'll
		probably use the 'open' commands.  Which one you use generally
		depends entirely upon where you happen to be in relation to
		where you want to add the line.  If you're right above it,
		you'll use 'o', if right below, it'll be 'O'.
		To add another item to the end of the list below, one would 
		move the cursor to the current last line (#3), hit 'o' (to
		open up space for the new line), type the new item, and hit
		Escape (to leave insert mode).

			1. Finish writing that darn tutorial
			2. Find out about VAX Prolog implementation
			3. Set up meeting times with NET committee
				    ||
				    ||
				    \/
			1. Finish writing that darn tutorial
			2. Find out about VAX Prolog implementation
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home

   dd	^R	A very easy command to use.  To delete item #2 in the list
		below, just move the cursor to that line and type 'dd'.
		The line will go away, but (if you're using a 'dumb'
		terminal) it will be replaced by a blank line with an
		at-sign ('@') in the first column. To get rid of that
		pseudo-line, just type ^R.  Remember, those at-sign lines
		aren't really in your file, they're just a convenience so
		that vi won't take time to redraw the screen every time
		you delete a line.

			1. Finish writing that darn tutorial
			2. Find out about VAX Prolog implementation
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home
				    ||
				    ||
				    \/
			1. Finish writing that darn tutorial
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home

   cc		To change item #2 in the list below, just move the cursor
		to that line, hit 'cc' (the line will disappear and you'll
		be in insert mode), type the replacement line, and hit
		Escape (to leave insert mode).	

			1. Finish writing that darn tutorial
			2. Find out about VAX Prolog implementation
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home
				    ||
				    ||
				    \/
			1. Finish writing that darn tutorial
			2. Write folks at Rochester about Prolog/VAX
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home

   r		Having deleted an item from the list below, it would be
		nice to fix up the line numbers.  Just move the cursor
		to the '3' and type 'r2' to replace it with a '2'.  Similarly,
		move to the '4' and type 'r3'.

			1. Finish writing that darn tutorial
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home
				    ||
				    ||
				    \/
			1. Finish writing that darn tutorial
			2. Set up meeting times with NET committee
			3. Buy a loaf of bread on way home

   R		To change the table entries below when Prof. Conway gets
		his new Ambassador, one could just use the 'x' command to
		delete the word 'Datamedia' and then use 'i' to type in
		'Ambassador', but that's a lot of work and besides, it
		might mess up the nice way in which the table lines up.
		Instead, move the cursor to the 'D' on Conway's line,
		type 'R' (to go into overwrite mode), type 'Ambassador',
		and hit Escape (to leave overwrite mode).

		 tty     where      what           baud    device  who
		-----  ----------  -----           ----    ------  --- 
		ttyh0  422  Upson  Ambassador      9600    TS  7   Demers
		ttyi0  419c Upson  Datamedia       9600    TS  8   Gilbert
		ttyj0  408  Upson  Datamedia       9600    TS  9   Conway
		ttyk0  415c Upson  Ambassador      9600    TS  10  Gries
				    ||
				    ||
				    \/
		 tty     where      what           baud    device  who
		-----  ----------  -----           ----    ------  --- 
		ttyh0  422  Upson  Ambassador      9600    TS  7   Demers
		ttyi0  419c Upson  Datamedia       9600    TS  8   Gilbert
		ttyj0  408  Upson  Ambassador      9600    TS  9   Conway
		ttyk0  415c Upson  Ambassador      9600    TS  10  Gries

   s		Substituting is usually handy when there are some number
		of characters that you want to replace with some other number
		of characters.  If the two numbers are the same, you could use
		the 'R' command.  If not, 's' is probably your best bet.  For
		example, suppose, in the list below, you wanted to change
		the word 'VAX' to 'PDP11'.  You'd move the cursor to the 'V'
		and hit '3s', meaning that you're going to type some stuff to
		replace the next three characters.  You'd then type 'PDP11'
		and hit Escape, to leave insert mode.

			1. Finish writing that darn tutorial
			2. Find out about VAX Prolog implementation
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home
				    ||
				    ||
				    \/
			1. Finish writing that darn tutorial
			2. Find out about PDP11 Prolog implementation
			3. Set up meeting times with NET committee
			4. Buy a loaf of bread on way home
#
vi Review2
#next
4.0  10