|
vi editor command summary |
|
Starting vi | Command | Description | | vi file | start at line 1 of file | | vi +n file | start at line n of file | | vi + file | start at last line of file | | vi +/pattern file | start at pattern in file | | vi -r file | recover file after a system crash | Saving files and quitting vi | Command | Description | | :e file | edit file (save current file with :w first) | | :w | save (write out) the file being edited | | :w file | save as file | | :w! file | save as an existing file | | :q | quit vi | | :wq | save the file and quit vi | | :x | save the file if it has changed and quit vi | | :q! | quit vi without saving changes | Moving the cursor | Keys pressed | Effect | | h | left one character | | l or <Space> | right one character | | k | up one line | | j or <Enter> | down one line | | b | left one word | | w | right one word | | ( | start of sentence | | ) | end of sentence | | { | start of paragraph | | } | end of paragraph | | 1G | top of file | | nG | line n | | G | end of file | | <Ctrl>W | first character of insertion | | <Ctrl>U | up ½ screen | | <Ctrl>D | down ½ screen | | <Ctrl>B | up one screen | | <Ctrl>F | down one screen | Inserting text | Keys pressed | Text inserted | | a | after the cursor | | A | after last character on the line | | i | before the cursor | | I | before first character on the line | | o | open line below current line | | O | open line above current line | Changing and replacing text | Keys pressed | Text changed or replaced | | cw | word | | 3cw | three words | | cc | current line | | 5cc | five lines | | r | current character only | | R | current character and those to its right | | s | current character | | S | current line | | ~ | switch between lowercase and uppercase | Deleting text | Keys pressed | Text deleted | | x | character under cursor | | 12x | 12 characters | | X | character to left of cursor | | dw | word | | 3dw | three words | | d0 | to beginning of line | | d$ | to end of line | | dd | current line | | 5dd | five lines | | d{ | to beginning of paragraph | | d} | to end of paragraph | | :1,. d | to beginning of file | | :.,$ d | to end of file | | :1,$ d | whole file | Using markers and buffers | Command | Description | | mf | set marker named ``f'' | | `f | go to marker ``f'' | | ´f | go to start of line containing marker ``f'' | | "s12yy | copy 12 lines into buffer ``s'' | | "ty} | copy text from cursor to end of paragraph into buffer ``t'' | | "ly1G | copy text from cursor to top of file into buffer ``l'' | | "kd`f | cut text from cursor up to marker ``f'' into buffer ``k'' | | "kp | paste buffer ``k'' into text | Searching for text | Search | Finds | | /and | next occurrence of ``and'', for example, ``and'', ``stand'', ``grand'' | | ?and | previous occurrence of ``and'' | | /^The | next line that starts with ``The'', for example, ``The'', ``Then'', ``There'' | | /^The\> | next line that starts with the word ``The'' | | /end$ | next line that ends with ``end'' | | /[bB]ox | next occurrence of ``box'' or ``Box'' | | n | repeat the most recent search, in the same direction | | N | repeat the most recent search, in the opposite direction | Searching for and replacing text | Command | Description | | :s/pear/peach/g | replace all occurrences of ``pear'' with ``peach'' on current line | | :/orange/s//lemon/g | change all occurrences of ``orange'' into ``lemon'' on next line containing ``orange'' | | :.,$/\<file/directory/g | replace all words starting with ``file'' by ``directory'' on every line from current line onward, for example, ``filename'' becomes ``directoryname'' | | :g/one/s//1/g | replace every occurrence of ``one'' with 1, for example, ``oneself'' becomes ``1self'', ``someone'' becomes ``some1'' | Matching patterns of text | Expression | Matches | | . | any single character | | zero or more of the previous expression | . | zero or more arbitrary characters | | \< | beginning of a word | | \> | end of a word | | \ | quote a special character | \ | the character `` '' | | ^ | beginning of a line | | $ | end of a line | | [set] | one character from a set of characters | | [XYZ] | one of the characters ``X'', ``Y'', or ``Z'' | | [[:upper:]][[:lower:]]* | one uppercase character followed by any number of lowercase characters | | [^set] | one character not from a set of characters | | [^XYZ[:digit:]] | any character except ``X'', ``Y'', ``Z'', or a numeric digit | Options to the :set command | Option | Effect | | all | list settings of all options | | ignorecase | ignore case in searches | | list | display <Tab> and end-of-line characters | | mesg | display messages sent to your terminal | | nowrapscan | prevent searches from wrapping round the end or beginning of a file | | number | display line numbers | | report=5 | warn if five or more lines are changed by command | | term=ansi | set terminal type to ``ansi'' | | terse | shorten error messages | | warn | display ``[No write since last change]'' on shell escape if file has not been saved | © 2005 The SCO Group, Inc. All rights reserved. SCO OpenServer Release 6.0.0 -- 03 June 2005
|