sponsor Vim development Vim logo Vim Book Ad

basic Tip #1465: Notes to accompany : "Introduction to display Editing using vi" paper.

 tip karma   Rating 7/7, Viewed by 720 

created:   January 10, 2007 20:10      complexity:   basic
author:   O.R.Senthil Kumaran      as of Vim:   5.7

Notes to accompany the Tutorial "Introduction To Display Editing using vi." by
William Joy and Mark Horton.

Bill Joy's "Introduction to Display editing using vi" is a great
tutorial to understand and appreciate the rationale behind the vi
keystrokes.  The material is relevant for the vim editor as well.

These notes can serve as quick reference material to the tutorial and getting
started with vi also.

d for delete

c for change

both can be applied to a word by suffixing it with w.

------------------------------------------------------------------------
Section 1:

man setenv

man tset *these are for specifying the terminal type, not applicable to
this era :)*

hjkl as cursor positioning keys.

If not sure on which state the editor is in, hitting ESC key for few
times makes the editor go in quiescent state.

ESC Key,Return Key and DEL Key

/ key

Now when you have pressed / key and the cursor is at the bottom, you can
return to the previous position by pressing the DEL key.

Hitting the DEL or RUB key can be called as sending an interrupt.

The editor oftens echos your commands at the last line of the terminal.

When the cursor is at the first position in the last line, then it is
performing a computation.

ZZ Save and quit.

:q! end the editor session.

------------------------------------------------------------------------

Section 2:

^D Scrolls Down in a file. D stands for Down.

^U Scrolls UP. U stands for Up.

^E Expose one more line at the bottom of the screen. E stands for
Expose.

^Y Exposes one line at the top of the screen. It is
non-mnemonic,but Y is next to U.

^F Forward in a file. Keeps few lines for read continuity.

^B Backward in a file. Keeps few lines for read continuity.

/   Search for a pattern. n will move the next occurance of the
word.

?   Search for a pattern backward direction. n will take it to the
next occurence of the word in the reverse direction.  If the
search string you give is not present in the file, then a
diagnostic is printed in the last line and cursor is returned to
where it was before.

/^search
will search for search in the begining of the line.

/end$ will search for end at the end of the line.

G Goes to the End of the file.

nG will Go to the nth line.

^G   state of the file

`` Go to the previous position in the file,mostly used when you G
'ed to a different line.

+   moves to the next line

-   moves to the previous line. (For + you might need to press Shift
whereas for - you dont) RETURN  Key has the same effect as +
key.

H Home

nH n lines from H

M middle of the screen.

L Last line of the screen.

w advance cursor to the next word of the line.

b move backward a word.

W advance cursor forward without stopping at punctuation. W think as Big Word.

B advance cursor backward without stoppingg at punctuaton.

The word keys wrap around the end of the line rathar than stopping at the end.

SPACE Advance by one position.

^H   Backspace the cursor

^N   Next line same column.

^P   Previous line same column.

view instead of vi will set readonly option to the file being edited.


------------------------------------------------------------------------
Section 3

i stands for insert

e moves to end of the word.

a appends. So e and then a might be helpful to pluralize the word.

i places the cursor to the left of the word and a places the
cursor to the right of the word.

o inserts a line below.

O inserts a line above.

Many editor related commands are invoked by the same letter key and
differ upper case vs lower case.The main difference being the upper case
letter act in the opposite direction than (up or backward) the lower
case letter.

^H or #
is used to backspace can be used in the editor as well.

@,^X or ^U
to kill input lines for the character you typed on the input line.

Notice that you cannot erase a character which you have not inserted.
Cannot backspace over end of line.  x deletes the character.

nx deletes n characters.

dw deletes the word.

. hitting the . keys repeats the previous command. analogous with
ellipsis '...'

db deletes the word backwards.

dSPACE deletes a single character equivalent to x

cw changes the word

dd deletes the line.

@ signs you see are just placeholder.It helps prevent lengthy redraws of
lines.

cc   changes the whole line.

ndd,ncc
deletes or changes n lines.

dnL delete upto (nlines) or including the Last line.

u undo command to reverse the change.
u also undoes a u.

U restores the current line to the state before you started
changing it. u does only a single character.


------------------------------------------------------------------------
Section 4:


fx finds the next x character in the current line.

; finds the next instance of the same character

F finds the character backwards.; repeats it backward.

tx finds the text upto the next x. helpful where you dtx - delete
upto but not x;

T reverse of t

^ begining of the line.

$ moves to the end of the line.


Control Characters can be brought in the file by beginning an
insert and then typing a  before the control character.

(   previous sentence

)   Next Sentence

d)   Deletes upto the end of the current sentence.

d(   If in middle of sentences deletes to the begining. OR if at the
begining deletes the previous sentence.

{ and } operations move over paragraphs.

[[ and ]] move over sections.

y yanks a copy of the object which follows into the unnamed buffer.

"xy; x can take [a-z] stands for the buffer name and take the text in
the corresponding buffer.

p   puts the text below or after the cursor.

P   puts before or above the cursor.

"xP   puts the content in the register x.

YP Makes a copy of the current line and leaves you on the copy,
which is before the current line.

Y is convenient abbreviation for yy.

Yp will make a copy of the current line and place it after the current line.

nYP Number of lines to duplicate.

"a5dd  
delete 5 lines and place it in a.

"ap at the resting place,puts the contents of the buffer a.

:e   edit another file.


-----------------------------------------------------------------------
Section 5

:q! quits editor without saving.

:e! re-edits the same file (starting over)

set autowrite

:n move the next file in when you do a :e to open a new file from
the current file.

:!cmdCR
Get to a shell and execute a single command. The system will
run the single command cmd and system will ask you to hit
Return to continue. You can give another command when it asks
for a Return.

:sh Will give you a new shell. Do a  when done. (Unix)

mx marks the current line with a letter.

`a   moves to the marked position.

   Refreshs the Screen.

@ characters in the screen can be removed by pressing 

zRETURN
will place the line to the top of the window

z. will place the line under the cursor to the middle of the window.
z- will place the line under the cursor at the end of the window.

------------------------------------------------------------------------

Section 6

set slow
set noslow
set redraw
set noredraw

options are three kinds: numeric options,string options or toggle
options.

:set
:set opt?CR
:set allCR

vi -r for recovering files if the system crashed.

:set wm1=10CR
Setting the wrap margin to 10. This causes all lines to be
broken at a space at least 10 columns from the right hand edge
of the screen.

J   joins the line.

set autoindent
set shiftwidth

<< Shift One line left

>> Shift One line right

<L Shift rest of the display left

>L Shift rest of the display right

% Matching Parenthesis

]] moves to the next } in a program. useful with y]]

!sortCR
will run the sort command over the buffer or the selected
list(Unix).

set lisp

=% at the begining of the function, will realign all the lines of
the function declaration.

:map lhs rhsCR

:map q :wq


(This is supposed to be :map q :wqCRCR;the first CR for map
association and second CR for the command itself)


Placing a ! after the word map causes the map to be applied in the input
mode rather than command mode.


------------------------------------------------------------------------
Section 7:

:abbreviate (:ab)
:unabbreviate (:una)
:ab cs Computer Science

------------------------------------------------------------------------

Section 8:

5a+-----ESC
+-----+-----+-----+-----+-----

new window size is reflected when / or ? is prefixed with count.
(unable to verify this)

dw 3. deletes 3 more words. 2. will delete two more words.

:x write if neccessary and then quit ( same as ZZ)

:e name; edit file name

:e! reedit discarding the changes.

:e + n edit starting at the end.

:e +n edit starting at n

:e # edit an alternate file

:w filename;write filename

:w! filename;overwrite filename

:x,yw name write lines x through y to name

:r name read the file name to buffer

:n edit the next file in the arg list

:n! edit next file, discarding the changes to the current.

:n args;specify new argument list

:ta tag edit file containing tag. (:help ta)

:e +/pat
:e +?pat

:ta can be used with ctags programs. :ta <function_name> will move
you to that function.

/pattern-n
nth line before the line containing the pattern

/pattern+n
nth line after the line containing the pattern

set ic
ignores the case during the search

set noic
toggles the above.

set nomagic
the search is now NOT regex

Q escapes you to ex mode

An appendix of all the characters is presented.


Further learning the vi, vim editor:

:vimtutor

An Introduction to Display Editing with Vi
http://docs.freebsd.org/44doc/usd/12.vi/paper.html

Seven habits of effective text editing
http://www.moolenaar.net/habits.html

Vim site:
www.vim.org

 rate this tip  Life Changing Helpful Unfulfilling 

<< copy multiple lines/words to a specified position | Backward search for latex documents on Mac os x >>

Additional Notes

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to [email protected] after searching the archive. Help Bram help Uganda.
    stats
Sponsored by Web Concept Group Inc. SourceForge.net Logo