Home: www.packetnexus.com
VI Reference Sheet Entering the editor: vi All "C" programs should end with the ".c" extension. All FORTRAN programs should end with the ".f" extension. All Pascal programs should end with the ".p" extension. Leaving the editor: ZZ This exits and saves your work. Case matters. See line editor commands to exit and not save. Creating Text a Append at right of cursor. A Append at end of current line. i Insert at left of cursor. I Insert at beginning of current line. o Create text on newline after current line. O Create text on newline above current line. ESC EXIT INPUT OR APPEND MODE. Positioning in the Window $ Last character on the current line. 0 First character on the current line. #- Move up # number lines. #+ Move down # number lines. j Down arrow k Up arrow l Right arrow h Left arrow Arrow Keys The arrow keys work. Do not hold them down or you'll be sorry. Scrolling Text ctrl-f Forward one window. ctrl-b Backward one window. G Go to last line of current file. #G Go to the #th line of the current file. ctrl-g Give the current line number and status. Delete Commands x Delete 1 character. #x Delete # number of characters. dw Delete 1 word. #dw Delete # number of words. dd Delete 1 line. #dd Delete # number of lines. D Delete from cursor to EOLN. Replacing Text r Replace 1 character. R Replace only those characters typed over. C Replace characters up to EOLN. ESC EXIT REPLACE MODE. Moving Text yw Yank copy of current word into buffer. Y Yank copy of current line into buffer. #Y Yank copy of # number of lines into buffer. p Place copy of buffer after cursor. NOTE: All deleted text was placed in this same buffer. Misc. vi Commands % Match ('s or }'s. Note: Place cursor over a ( or { and the % command will automatically take you to the matching ( or }. J Join lines. ctrl-l Refresh the screen u UNDO LAST CHANGE! Line Editor Style Commands :q! Quit the editor and discard all changes. :w Write out contents of editor to that filename. :set number Number lines. :set nonumber Un-number lines. :# Go to line #. :/pattern Search forward for pattern. :?pattern Search backward for pattern. :/ Repeat last forward search. :? Repeat last backward search. :#,#s/old/new/ Substitute old pattern for new pattern on lines # thru #. Substitute Examples :1,5s/wite/write/ This changes the first occurrence of "wite" to "write" on lines 1 thru 5. :1,5s/wite/write/g This changes every occurrence of "wite" to "write" on lines 1 thru 5. ( Global substitution ) :1,$s/wite/write/gc This changes every occurrence of "wite" to "write" on lines 1 thur EOF. The "c" option gives the user a chance to confirm each change. ( y or n ) :10,15s/^/ / This changes Begining of line into four spaces on lines 10 thur 15. (i.e. indents those lines) The "^" is a special character that matches beginning of line. :.,12s/$/ ;/ This changes End of line into a space and a semi-colon on the current line thur line 12. The "$" is a special character that matches En