您的位置:首页 > 其它

vi命令常用功能小结

2012-09-12 14:07 253 查看
每次使用都要google一下,麻烦死了。常用的总结下好了,再用到再补充了。

1.~/.vimrc的设置,习惯常用:

set number #显示行号

set ic #ignore case sensitive查找时不区分大小写

set history=1000 #记录历史的行数

set hlsearch #highlight search 查找匹配的高亮显示

set showmatch #设置匹配模式,类似输入一个左括号时会匹配相应的右括号c

set cindent #使用C语言的自动缩进方式。设置后可以使用==来调整格式,比较方便

set tabsptop=4

set softtabstop=4 #制表符宽度,4个空格

set shiftwidth=4 #缩进的空格数

syntax on #语法高亮显示

嗯,我习惯使用vi而不是vim,实在懒得多打一个字母。在~/.cshrc(我的环境是cshell)里加上一行:

alias vi vim

2. 移动光标类命令

h/Backspace:光标左移一个字符

l/space :光标右移一个字符

k :光标上移一行

j/Enter :光标下移一行

w或W :光标右移到下一个字的字首

e或E :光标右移到下一个字的字尾

b或B :光标左移到上一个字的字首

) :光标移至句尾

( :光标移至句首

} :光标移至段落开头

{ :光标移至段落结尾

nG:光标移至第n行首

n+:光标下移n行

n-:光标上移n行

n$:光标移至第n行尾

0:(注意是数字零)光标移至当前行首

$:光标移至当前行尾

H:光标移至屏幕顶行

M :光标移至屏幕中间行

L :光标移至屏幕最后行

gg: 光标移至文件首行

G: 光标移至文件末尾

3. 屏幕翻滚类命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

4.插入文本类命令

i :在光标前

I :在当前行首

a:光标后

A:在当前行尾

o:在当前行之下新开一行

O:在当前行之上新开一行

r:替换当前字符

R:替换当前字符及其后的字符,直至按ESC键

s:从当前光标位置处开始,以输入的文本替代指定数目的字符

S:删除指定数目的行,并以所输入文本代替之

ncw或nCW:修改指定数目的字

nCC:修改指定数目的行

5.删除命令

dd:删除当前行

6. 搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern

?pattern:从光标开始处向文件首搜索pattern

n:在同一方向重复上一次搜索命令

N:在反方向上重复上一次搜索命令

:s/p1/p2/g:将当前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:将文件中所有p1均用p2替换

如果要逐个确认替换,上面几条命令后面加c表示confirm,例如:g/p1/s/p2/gc,这样全文中所有出现p1处都会逐个询问是否用p2替换。

7. 命令行方式命令

:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d :将n1行到n2行之间的内容删除

:w :保存当前文件

:e filename:打开文件filename进行编辑

:x:保存当前文件并退出,等同于wq

:q:退出vi

:q!:不保存文件并退出vi

8.分屏操作

:sp newfile #在编辑file1,使用该命令打开newfile,上下分割屏幕。sp for split

:vsp newfile #在编辑file1,使用该命令打开newfile,左右分割屏幕。vsp for vertical split

如果是上下分屏,

ctrl+w + k:光标移至上面的屏幕

ctrl+w + j:光标移至下面的屏幕

如果是左右分屏,

ctrl+w + h:光标移至左边的屏幕

ctrl+w + l:光标移至右边的屏幕

事实上,像我,常用的是两个文件分屏,使用ctrl+w + w,这样按住ctrl再按两下w,就在两个屏幕间来回切换,比较方便。

分屏比较便于文件对比啦,两个文件间有拷贝之类的我也是这样操作,不知道有没有更好的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: