常用VI使用

来源:互联网 发布:淘宝内部优惠券网址 编辑:程序博客网 时间:2024/06/15 22:48

参考:作者:Edward Leehttp://www.study-area.org/tips/vim/index.html

一.光标移动类
j,k,h,l    : 上,下,左,右
Ctrl-f     : PageDown
Crtl-b     : PageUp

0,^       : 行首
$          : 行尾

G          : 档首
gg         : 档尾

w          : 下一单词首
e          : 下一单词尾
b          : 上一单词首

:n         : 到第n行

%          : 匹配各种括号对

ctrl+g    : 显示光标行号

二.一般编辑类
i          :insert
a          :append
o          :下一行开始输入

J          :将下一行连接到本行末尾

x          :删除当前光标
X          :删除光标前,同backspace

dd,dw      :删行,删词
dG,dgg     :删至档尾,删至档首
d^,d$      :删至行首,删至行尾

u          :undo
U          :恢复本行
crtl+r     :redo

5dd        :删除5行

>>         :整行右移shiftwidth
<<         :整行左移shiftwidth

进入v模式,选择多行,再用>>,则可以整段移动

三.复制
yy         :复制一行
3yy        :复制3行
y^,y$      :复制到行首,尾
yw         :复制一个词
"ayy       :复制行到a区
5"ayy      :复制5行到a区

p          :粘贴到光标后(下)
P          :粘贴到光标前(上)

剪切:dd配合p,实现剪切功能

四.查找和替换
:/xxxx     :查找xxxx,n和N用于下一个和上一个
*          :查找当前光标的词

替换:
:[range]s/pattern/string/[c,e,g,i]

range      :% 当前全文档,1,7 一到七行
pattern    :待查找替换串
string     :替换串
c          :每次替换前确认
e          :不显示error
g          :每行有多个匹配串时,全替换
i          :忽略大小写

实例,比如下面一段代码,找aaa,用ppp换

#include <stido.h>

void main()
{
    int aaa;
    aaa = 9;
    printf("aaa=%d/n",aaa);
    return 
}

:%s/aaa/ppp/gc        全文查找替换,替换前询问
:3,9s/aaa/ppp/c       3到9行替换,替换前询问,
                      由于没有g,printf行第二个aaa不会替换

 

五.多个文档
vim 111.c 222.c 可以打开多文档,使用:n   :N  来切换

在vim编辑状态,使用 :e 333.c 打开又一个文档
使用:e#来切换文档

六.shell
:!外部命令     :执行shell命令
:sh            :跳到shell下,exit返回
:r !commond    :在下一行插入shell执行的输出

 七.set
set 用于设定vim的功能,可以编辑
~/.vimrc
~/.gvimrc
等来配置,网上可以找到很多好模版。
也可以在编辑时设定:set

这个内容很多,另外说了