Marc's Place

 

VI Editor

     The commands to move around the file are:
     h     Move the cursor left one character.
     j     Move the cursor down one line.
     k     Move the cursor up one line.
     l     Move the cursor right one character.
     <cursor-arrows>

           The cursor arrow keys should work, too.
     /text<carriage-return>
           Search for the string ``text'' in the file, and move the cursor to
           its first character.

     The commands to enter new text are:
     a     Append new text, after the cursor.
     i     Insert new text, before the cursor.
     o     Open a new line below the line the cursor is on, and start entering
           text.
     O     Open a new line above the line the cursor is on, and start entering
           text.
     <escape>
           Once you've entered input mode using the one of the a, i, O, or o
           commands, use <escape> to quit entering text and return to command
           mode.
 
     The commands to copy text are:
     yy    Copy the line the cursor is on.
     p     Append the copied line after the line the cursor is on.

     The commands to delete text are:
     dd    Delete the line the cursor is on.
     x     Delete the character the cursor is on.

     The commands to write the file are:
     :w<carriage-return>
           Write the file back to the file with the name that you originally
           used as an argument on the vi command line.
     :w file_name<carriage-return>

           Write the file back to the file with the name ``file_name''.

     The commands to quit editing and exit the editor are:
     :q<carriage-return>
           Quit editing and leave vi (if you've modified the file, but not
           saved your changes, vi will refuse to quit).
     :q!<carriage-return>
           Quit, discarding any modifications that you may have made.

     One final caution.  Unusual characters can take up more than one column
     on the screen, and long lines can take up more than a single screen line.
     The above commands work on ``physical'' characters and lines, i.e. they
     affect the entire line no matter how many screen lines it takes up and
     the entire character no matter how many screen columns it takes up.

VI COMMANDS

     The following section describes the commands available in the command
     mode of the vi editor.  In each entry below, the tag line is a usage syn-
     opsis for the command character.

     [count] <control-A>

           Search forward count times for the current word.
     [count] <control-B>
           Page backwards count screens.
     [count] <control-D>
           Scroll forward count lines.
     [count] <control-E>
           Scroll forward count lines, leaving the current line and column as
           is, if possible.
     [count] <control-F>
           Page forward count screens.
     <control-G>

           Display the file information.
     <control-H>
     [count] h
           Move the cursor back count characters in the current line.
     [count] <control-J>
     [count] <control-N>
     [count] j
           Move the cursor down count lines without changing the current col-
           umn.
     <control-L>
     <control-R>

           Repaint the screen.
     [count] <control-M>
     [count] +
           Move the cursor down count lines to the first nonblank character of
           that line.
     [count] <control-P>

     [count] k
           Move the cursor up count lines, without changing the current col-
           umn.
     <control-T>
           Return to the most recent tag context.
     <control-U>

           Scroll backwards count lines.
     <control-W>
           Switch to the next lower screen in the window, or, to the first
           screen if there are no lower screens in the window.
     <control-Y>
           Scroll backwards count lines, leaving the current line and column
           as is, if possible.
     <control-Z>
           Suspend the current editor session.
     <escape>
           Execute ex commands or cancel partial commands.
     <control-]>

           Push a tag reference onto the tag stack.
     <control-^>
           Switch to the most recently edited file.
     [count] <space>
     [count] l
           Move the cursor forward count characters without changing the cur-
           rent line.
     [count] ! motion shell-argument(s)
           Replace text with results from a shell command.
     [count] # +|-
           Increment or decrement the cursor number.
     [count] $
           Move the cursor to the end of a line.
     %     Move to the matching character.
     &     Repeat the previous substitution command on the current line.
     '<character>
     `<character>

           Return to a context marked by the character <character>.
     [count] (
           Back up count sentences.
     [count] )
           Move forward count sentences.
     [count] ,
           Reverse find character count times.
     [count] -
           Move to first nonblank of the previous line, count times.
     [count] .
           Repeat the last vi command that modified text.
     /RE<carriage-return>
     /RE/ [offset]<carriage-return>
     ?RE<carriage-return>
     ?RE? [offset]<carriage-return>

     N
     n     Search forward or backward for a regular expression.
     0     Move to the first character in the current line.
     :     Execute an ex command.
     [count] ;
           Repeat the last character find count times.
     [count] < motion
     [count] > motion
           Shift lines left or right.
     @ buffer
           Execute a named buffer.
     [count] A
           Enter input mode, appending the text after the end of the line.
     [count] B


           Move backwards count bigwords.
     [buffer] [count] C
           Change text from the current position to the end-of-line.
     [buffer] D
           Delete text from the current position to the end-of-line.
     [count] E
           Move forward count end-of-bigwords.
     [count] F <character>
           Search count times backward through the current line for
           <character>.
     [count] G
           Move to line count, or the last line of the file if count not spec-
           ified.
     [count] H
           Move to the screen line count - 1 lines below the top of the
           screen.
     [count] I
           Enter input mode, inserting the text at the beginning of the line.
     [count] J
           Join lines.
     [count] L
           Move to the screen line count - 1 lines above the bottom of the
           screen.
     M     Move to the screen line in the middle of the screen.
     [count] O
           Enter input mode, appending text in a new line above the current
           line.
     [buffer] P
           Insert text from a buffer.
     Q     Exit vi (or visual) mode and switch to ex mode.
     [count] R
           Enter input mode, replacing the characters in the current line.
     [buffer] [count] S
           Substitute count lines.
     [count] T <character>
           Search backwards, count times, through the current line for the
           character after the specified <character>.
     U     Restore the current line to its state before the cursor last moved
           to it.
     [count] W
           Move forward count bigwords.
     [buffer] [count] X
           Delete count characters before the cursor.
     [buffer] [count] Y
           Copy (or ``yank'') count lines into the specified buffer.
     ZZ    Write the file and exit vi.
     [count] [[
           Back up count section boundaries.
     [count] ]]
           Move forward count section boundaries.
     ^     Move to first nonblank character on the current line.
     [count] _
           Move down count - 1 lines, to the first nonblank character.
     [count] a
           Enter input mode, appending the text after the cursor.
     [count] b
           Move backwards count words.
     [buffer] [count] c motion
           Change a region of text.
     [buffer] [count] d motion
           Delete a region of text.
     [count] e
           Move forward count end-of-words.
     [count] f<character>

           Search forward, count times, through the rest of the current line
           for <character>.
     [count] i
           Enter input mode, inserting the text before the cursor.
     m <character>
           Save the current context (line and column) as <character>.
     [count] o
           Enter input mode, appending text in a new line under the current
           line.
     [buffer] p
           Append text from a buffer.
     [count] r <character>
           Replace count characters.
     [buffer] [count] s
           Substitute count characters in the current line starting with the
           current character.
     [count] t <character>
           Search forward, count times, through the current line for the char-
           acter immediately before <character>.
     u     Undo the last change made to the file.
     [count] w
           Move forward count words.
     [buffer] [count] x
           Delete count characters.
     [buffer] [count] y motion
           Copy (or ``yank'') a text region specified by the count and motion
           into a buffer.
     [count1] z [count2] -|.|+|^|<carriage-return>

           Redraw, optionally repositioning and resizing the screen.
     [count] {
           Move backward count paragraphs.
     [count] |
           Move to a specific column position on the current line.
     [count] }
           Move forward count paragraphs.
     [count] ~
           Reverse the case of the next count character(s).
     [count] ~ motion
           Reverse the case of the characters in a text region specified by
           the count and motion.
     <interrupt>
           Interrupt the current operation.

VI TEXT INPUT COMMANDS

     The following section describes the commands available in the text input
     mode of the vi editor.

     <nul>
           Replay the previous input.
     <control-D>

           Erase the previous autoindent character.
     ^<control-D>
           Erase all of the autoindent characters, and reset the autoindent
           level.
     0<control-D>
           Erase all of the autoindent characters.
     <control-T>
           Insert sufficient <tab> and <space> characters to move the cursor
           forward to a column immediately after the next column which is an
           even multiple of the shiftwidth option.
     <erase>

     <control-H>
           Erase the last character.
     <literal next>
           Quote the next character.
     <escape>
           Resolve all text input into the file, and return to command mode.
     <line erase>
           Erase the current line.
     <control-W>

     <word erase>
           Erase the last word.  The definition of word is dependent on the
           altwerase and ttywerase options.
     <control-X>[0-9A-Fa-f]*
           Insert a character with the specified hexadecimal value into the
           text.
     <interrupt>
           Interrupt text input mode, returning to command mode.

 


© 1997- Marc Vos (and others)   -   Privacy Statement   -    Contact Me

On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts.
Privacy Statement