vi用法细节~

vi用法细节~

附加于插入命令:
        a [在光标后附加文本]
        A [在本行行末附加文本]
        i [在光标前插入文本]
        I [在本行开始插入文本]
        o [在光标下插入新行]
        O [在光标上插入新行]
定位命令:
删除命令:
        x [删除光标所在处字符]
        X [删除光标前面的字符]
        dd [删除光标所在行]
        3dd [删除从光标所在位置3行]
        D [删除从光标所在处到行尾]
        :5,10d [删除第5行到第10行]
替换和取消命令:
        r [取代光标所在处字符]
        R [从光标所在处开始替换字符,按Esc结束]
        s [替换光标所在处字符,并进入文本输入方式]
        S [替换光标所在全行,按Esc结束]
        u [取消上一步操作]
        U [取消当前行的所有操作]
文本复制命令:
        yy\Y [复制当前行]
        p [将已经选择或被删除的行放在当前行下]
        P [将已经选择或被删除的行放在当前行上]
保存与退出命令:
        :w [保存]
        :w new_filename [保存为指定文件]
        :wq ZZ [保存并推出vi]
高级编辑选项:
        :set nu [显示行号]
        :set nonu [隐藏行号]
        :set ic [搜索忽略大小写]
        :set noic [搜索区分大小写]
        :set sm [函数空格回显]
        :set tabtops=4 [设置tab空的宽度]
        :set ai []
        :sync off [去掉颜色]
        :set nohlsearch [去掉搜索时产生的标识]
        :1,2 co 3 [将1,2两行拷贝到第3行下]
        :1 r /etc/passwd [在编辑文件时读入另外一个文件内容到第一行下]
        :21 21G [到21行]
        :%s/old/new/g [替换全文指定字符串]
        :3,7s/old/new/g [替换3-7行的old改为new]
高级编辑命令:
        G [到文件最后一行]
        1G [到文件第一行]
搜索和替换命令:
        /string [向前搜索指定字符串]
        ?string [向后搜索指定字符串]
        n [搜索指定字符串的下一个出现位置]
        N [搜索指定字符串的上一个出现位置]
        :%s/old/new/g [替换全文指定字符串]
        :3,7s/old/new/g [替换3-7行的old改为new]
vi编辑器的高级进阶:
        J [两行合并命令]

本人喜爱用VI编程 VI的功能还有很多 以上是常用的着的命令
送给想用vi但不会用的朋友,当然如果有哪位朋友知道的更多请与补充

:set tabtops=4 [设置tab的宽度] 这个命令在我的rh9的.vimrc下不能用但是别的版本linux下可以,不知为什么,如果有哪位知道在rh9下能调解vi中Tab键范围大小的命令请告诉我,谢谢
rh9下vi设置tab
:set ts=4
学习一下,:D
不错!受益匪浅!
:retab 4

other useful commands in vi:
m a-z     --->make marks (a-z)
'   a-z     --->return the place where you marked

for example, i make a mark denoted by s, then page down/up in vi.
when i want to get back to the line i marked by s, i just only type the command  ‘ s  then i've been back.     enjoy!