每次使用都要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,就在两个屏幕间来回切换,比较方便。
分屏比较便于文件对比啦,两个文件间有拷贝之类的我也是这样操作,不知道有没有更好的方法。
阅读(1551) | 评论(0) | 转发(0) |