令。
**移动
基本移动
k
h l
j
f 光标向前移动一个单词
b 光标向后移动一个单词
CTRL+F 向前翻页
gg 跳转到文件开头
G 跳转到文件结尾
**编辑
o 在normal mode下在当前行下新加入一行,光标移动到下一行的行首
dd 删除一行
d x d 删除x行,x为一个数字
d$ 删除从当前光标到行尾
dw 删除一个单词
x 删除一个字符
xp 光标下的字符与后一个字符进行交换
cw 替换一个单词
u undo
:w 保存当前buffer中的文件
:w! 强制保存
:q 退出
:q! 不保存退出
:wq 保存退出
:x 保存退出
zz 保存退出
:e . 打开当前目录
:e /path/to/file 打开文件,可以按tab键补齐文件名
:help 打开帮助文件
CTRL+] tag跳转,可以在帮助或者c、java文件中跳到函数或方法定义处
需要用ctags生成tags文件,ctags可以在http://ctags.sourceforge.net找到。
用ctags -R . 生成当前目录下所有source code的tag。
指定vim查找tags时的目录
:set tags=./tags,../tags,../../tags
CTRL+t tag跳转后,往回跳转
J 连接下一行
y copy
p paste
**查询和替换
/ 查找,继续查找按n
? 向上查找
* 向下查找当前光标下的单词
# 向上查找当前光标下的单词
[+i 显示文件中当前光标小的单词
:set hls 高亮查找匹配到的文字
:set is 增量式查找
:set ignorecase 查找时不区分大小写
:set noh 不高亮显示上次查找到的文字,有时候高亮查找的文件使显示比较乱。
:%s/foo/bar/gc 全文替换,每次确认
s/foo/bar/gc 在选中一个visual block后替换,按v进入visual mode。
:set nu 显示行号,vim6.4在终端下显示行号用的空间比较大,显得比较难看,
vim7.1行号只占4个字符,如果超过以后再自动扩展。emacs为什么行号显示这么
慢呢?
:set nonu 不显示行号
CTRL+w o 关闭其他窗口
CTRL+w c 关闭当前窗口
CTRL+w h
CTRL+w j
CTRL+w k
CTRL+w l
CTRL+tab 在windows下可以用,循环切换每一个窗口。
gf go to file,打开当前光标下的文件
CTRL+G 显示文件的行数和字符数
gq 格式化文件,在visual mode下选中一行后,每行默认80个字符。
:set formatoptions+=mM 对中文准确的拆分。
:set fileformat=unix
:set fileformat=dos
:set filetype=java 把文件格式设置为java
:%s/
//g 去掉dos格式的文件中行末的回车符,回车符用CTRL+k RET RET输入
/+x 注释或去掉注释 当前行或选择的region
za 打开或关闭一个folder,folder用 {{{ 和 }}}来表示。
在文件末尾加入一行
" vim:fdm=marker
cvs
/+v 分列窗口比较当前文件和cvs上的最新版本
/+l 显示文件的cvs log
/+a cvs add
/+c cvs commit
:CVSVimDiff 比较2个版本的文件
% 匹配括号
**~/vimfiles/plugin下的script
-rw-r--r-- 1 Administrator None 36098 Sep 11 2002
EnhancedCommentify.vim 注释
-rw-r--r-- 1 Administrator None 987 Jan 2 2004 javaGetSet.vim 产
生getter和setter的script,现在用得少了
-rw-r--r-- 1 Administrator None 36069 Apr 22 2006 DirDiff.vim 目录
比较
-rw-r--r-- 1 Administrator None 57547 Oct 13 2006 project.vim
-rw-r--r-- 1 Administrator None 30666 Sep 9 09:27 matchit.vim
-rw-r--r-- 1 Administrator None 147930 Sep 21 18:11 taglist.vim 显示
tags用,快捷键设置到F7 F8 F9上
-rw-r--r-- 1 Administrator None 41312 Apr 25 2005 cvscommand.vim 这
2个都是给cvs用的
-rw-r--r-- 1 Administrator None 76632 Nov 15 18:05 cvsmenu.vim
-rw-r--r-- 1 Administrator None 54261 Nov 19 17:36 tabbar.vim 替代
-minibuffer