Defcon-1-Logo

           [Home]    [FBSD Articles]    [Scripts Corner]    [Contribute]    [Search]    [FBSD Links]    [Files]

About Us

FreeBSD Articles
  *Hardware
  *Networking
  *Security
  *Software
  *X Windows


Files / Scripts
Newbies Corner
Tech. Talk
Tips and Tricks


FreeBSD Links

Articles in other
Languages :
  *French Articles
  *Spanish Articles

Want to Help ?
 
   Click Here

Email Users5

Search:
 

 


FreeBSD Search:


 

 

Powered-By-Apache-Logo
VI Powered Button

Learning VI

      Advanced editing using vi
This file gives a more detailed description of the vi command set.

INSERTING TEXT

To leave the Insert mode, press 'Esc'
a        Append after cursor
A        Append after end of current line
i        Insert before cursor
I        Insert before beginning of current line
o        Open new line below current line and insert
O        Open new line above current line and insert
CTRL-vchar   While inserting, ignore special meaning of char
        (e.g., for inserting characters like Esc and control
        characters)
:r file     Read file, and insert after current line
J        Join next line to end of current line

DELETING TEXT

CTRL-h or
Backspace    While in Input Mode delete previous character

Typing a number before these commands will delete that amount of characters,
  words, or lines.
x        Deletes current character
dw       Delete current word
dd       Deletes current line

:n,md      Deletes lines n through m
D or d$     Delete from cursor to end of current line
dcursor_cmd   Delete text to cursor to cursor_cmd(e.g.,dG deletes from
        current line to end of file)

UNDOING AND REPEATING COMMANDS

u        Undo last command
U        Restore current line to original state
"np       Retrieve last nth delete(last 9 deletes are in a buffer)"
n        Repeat last / or ? search command
N        Repeat, in reverse direction, last / or ? search command
; (semi-colon) Repeat last f, F, t or T search command
, (comma)    Repeat, in reverse direction, last f, F, t or T search
        command
. (period)   Repeat last text change command

MOVING THE CURSOR

k or CTRL-p   Up
j or CTRL-j or
CTRL-n     Down
h or CTRL-h  
or Backspace  Left
l (lower case L)
or Spacebar   Right
w or W     Start of next word; W ignores punctuation
b or B     Start of previous word; B ignores punctuation
e or E     End of next word; E ignores punctuation
0 (zero)
or | (pipe)   First column in current line
n|       Column n in current line
^ (caret)    First non-blank character in current line
$        Last character in current line
+ or Return   First character in next line
-        First non-blank character in previous line
1G       First line in file
G        Last line in file
G$       Last character in file
nG       Line n in file
(        Back to beginning of sentence
)        Forward to beginning of next sentence
\{        Back to beginning of paragraph
\}        Forward to beginning of next paragraph

PATTERN MATCHING

Pattern matching characters help find strings with similar char-
acteristics.

:set magic   Allow pattern matching with special characters
        (default)
:set nomagic  Allow only ^ and $ as special characters
^ (caret)    Match beginning of line
$        Match end of line
. (period)   Match any single character
\<       Match beginning of word
\>       Match end of word
[str]      Match any single character in str
[^str]     Match any character not in str
[a-n]      Match any character between a and n
*        Match zero or more occurrences of previous character
        in expression
\        Escape meaning of next character(e.g. \$ lets you
        search for $)
\\       Escape the \ character

SAVE TEXT AND EXIT VI

ZZ or :wq or
:x       Save file and exit vi
:w file     Save file but do not exit. Omitting file saves current
        file
:w! file    Save file overriding normal checking
:n,mw file   Write lines n through m to file
:n,mw>>file   Append lines n through m to end of file
:q       Leave vi, saving changes before last write
        (you may be prompted to save first)
:q!       Leave vi without saving any changes since last write
Q        Escape vi into ex editor with same file; :vi returns
:e!       File-edit current file, disregarding changes since last
        write.


SEARCHING

f<char>     Search forward in current line to <char>
F<char>     Search backwards in curretn line to <char>
/<string>    Find next occurence of <string>
?<string>    Find previous occurence of <string>
:set ic     Ingnore case while searching
:set noic    Case sensitive while searching (default)

GLOBAL SEARCH AND REPLACE

:n,m s/<str1>/<str2>/<opt>   Search from n to m for <str1> and replace
                it with <str2> with option <opt>. 
                <opt> can be c - confirm changes
                       g - global replace
                       p - to print changed lines
(Ex- :1,$ s/foo/bar/g     Replaces every occurence of "foo" with the
                string "bar".) 

:g/<str>/<cmd>         Run <cmd> on all lines that contain <str>
:g/<str1>/s/<str2>/<str3>/   Find line containing <str1>, replace <str2>
                with <str3>
:v/<str>/<cmd>         Execute <cmd> on all lines that do not
                match <str>  

COPYING AND PLACING TEXT

( These commands may be preceded by a number to multiply commands )
yy or Y    Yank current line into the buffer ( copy )
nyy or nY   Yank n amount of line into buffer
p       Insert line(s) in buffer after cursor; also prints
       last deleted text
P       Insert line(s) in buffer before cursor

USEFUL OPTIONS

:set all     Displays all options you may "set"
:set showmode  Displays "INPUT MODE" while in input mode
:set tabstop=n  Sets the tabwidth of the tab key to n spaces;
         8 is default, but 4 may be preferable
:set list    Displays all control characters in document;
         end of lines are shown as '$'  

 

Email Us

ghostrdr@defcon1.org

This site cannot be duplicated without permission

© 1998 - 2010 Defcon1, www.defcon1.org. Copyrights for all materials on this web site are held by the individual authors, artists, photographers or creators. Materials may not be reproduced or otherwise distributed without permission of www.defcon1.org and the content's original author.