from small one page howto to huge articles all in one place
poll results
Last additions:
May 25th. 2007:
April, 26th. 2006:
|
. You are here: Misc->VI
2. Commands Below you will find a cheat-sheet with vi commands. This cheat sheet will also come in handy in the next section of this document, Practice Lesson #1.
vi cheat-sheet a. cursor movements (items below are sometimes called objects): h - left one character l - right one character j - down one line k - up one line w - right one word b - back one word $ - to the end of line 0 - to the beginning of the line ) - right one sentence ( - left one sentence } - right one paragraph { - left one paragraph Ctrl-F - forward one page Ctrl-B - back one page G - go to (without arguments, go to end of file) b. deleting: d - delete then add one of the cursor movement symbols to show what should be deleted, i.e.: d$ - delete to end of line d0 - delete to the beginning of the line d} - delete to the end of paragraph dd - delete delete (delete the whole line) x - delete character cursor is on c. other basic commands: r - replace one character ZZ - save and exit (hold down shift and press "z" twice) y - yank (copy into temporary buffer) then add cursor movement symbol to show what should be copied, for example: y) - copy to the end of sentence Y - yank line cursor is on p - paste below cursor line (deleted or copied text) P - paste above cursor line u - undo last editing command /sometext - search for "sometext" d. any command can take numeric argument before the name of "object", i.e.: 5dd - delete 5 lines beginning with cursor line (or) d5d - same 2dw - delete two words (or) d2w - delete two words c3w - change 3 words 3Ctrl-B - move up three pages 1G - go to the first line e. external commands can be performed on the selected text (in lines) if command is started with "!", i.e.: !}fmt - reformat paragraph to 72 columns f. command line (sometimes called "ex mode"): : g. from the command line a "set" command can be executed to customize editing environment, i.e.: :set all - will show the state of all options :set number - will show on the screen numbers of all lines :set autoindent // obvious h. from the command line operations can be performed on the range of lines, i.e.: :18,24 del - delete from line 18 to line 24 :23,48 copy 17 - block from line 23 to 48 copy to line 17 :2,17 move 92 - block from line 2 to 17 move to line 92 i. from the command line any external UNIX command can be performed on the range of lines if line range is superseded by "!": :11,16! sed -e "s/^//*/" -e "s/$/*//" (the command above wraps the block of text with "C" style comments - /* text */. It can be done easier, but this is an example) :14,19! sort -r +3 (sort the table in reverse order by fourth column) j. file manipulation from the command line: :r somefile - read in "somefile" :x - save and exit (if file is "Read Only", this command will exit without saving) :wq - write and quit (same as above) :w - write (save) if the file permissions allow it :w! - save file even if it is read-only as long as we own it :w somefile - save this file as "somefile" :q - quit without saving :q! - quit without saving if changes were made k. text input commands (all require "Esc" to terminate): i - insert text before the character cursor is on I - insert text at the beginning of the line a - append (insert text after the character cursor is on) A - append text to the end of the line c - change (replace previous text with new one) takes arguments just like the delete command - it is a fast and powerful way of changing original text - much more so than typical "overwrite" R - start overwriting text o - start entering text at the beginning of the new line below the cursor O - start entering text at the beginning of the new line above the cursor l. if in doubt, press "Esc"
/* The article above and any accompanying files are freely * distributable, but please leave this notice and the text intact. * Home for this document: http://www.infobound.com/vi.html * Copyright (C) 1994, 1999 Tony Thomas * Contact author through email:tony@infobound.com * Last revision Feb 23, 1999 * UNIX is a trademark of X/Open */
rate this article:current rating: average rating: 1.4 (40 votes) (1=very good 6=terrible) Your rating: back
|