ctags -R
[ctags] 生成标签
vi 命令行模式下指定tag路径 (不指定的话 用不了)
> :set tags=./tags
[vim]
:sqlit 分隔窗口
ctrl-w 切换窗口
:close 关闭窗口
/android 查找android,然后如果按n,表示向下查找,如果按N,表示向上查找
?android 查找android,然后如果按n,表示向上查找,如果按N,表示向下查找
CTRL-P/CTRL-N 翻看查找历史记录
q/和q? 在vim窗口最下面打开一个新的窗口,这个窗口会列出你的查找历史记录
shift+8 向后搜索当前光标指向的单词
shift+3 向前搜索当前光标指向的单词
:%s/old/new/g 将编辑器的缓冲区的"old"替换为new(去掉%后是替换当前行
:19,20s/old/new/g 将文件的19到20行的的"old"替换为new
:s/\<blog\>/weibo/g 替换blog,但是cnblog,blogs则不会替换
:%s/\(good\|nice\)/awesome/g good和nice都将被替换成awesome
gg 首行
G 尾行
CTRL-G 查看当前位置
fx 移动到光标右边的第一个’x'字符上;Fx :反向
tx 移动到光标右边的第一个’x'字符之前;Tx :移动到光标左边的第一个’x'字符之后
0(数字0)移动到行首
$ 移动到行尾
H/M/L 这三个键,可以让光标跳到当前窗口的顶部、中间、和底部
zt、zz和zb 滚到光标所在行移动窗口的顶端、中间或底部
:sh 打开shell,可执行shell命令,输入exit退出shell返回到vim
:ls 查看打开了哪些缓存区
cw 替换从光标所在位置后到一个单词结尾的字符(and copy)
zf 将选中的方法折叠起来
zn 将折叠的方法展开
ctrl+o 回到上一次关标所在的位置
,+f+j 快速注释java代码
,+f+x 快速注释xml文件
* 快速选中对象
shift+v 选中一行
U 可视化选中的字母变大写
f9 正常模式下,清除行末空格,底部出现红色说明没有空格
% 跳转到相对于括号
gD 跳转到局部变量的定义处
|插入和删除|
r 快速替换字符,不许切换模式
cw 删除光标后一个单词并进入插入模式
cl 删除光标后一个字母并进入插入模式
D或C 删除该行光标后所有内容,无论字符还是空格
dt" 行内删除直到","不删除
ct) 行内改变直到),)不删除
rd 删除r行
|滚动|
ctrl + e/y 向下/上一行一行的滚动
ctrl + d/u 向下/上半页半页的滚动
ctrl + f/b 向下/上一页一页的滚动
|可视模式|
v 进入可视模式
shift+v 整行选择
ctrl+v 可视模式的列选择
gv 选中上次的选中区域
vab 选择()里面的内容,包括小括号
vaB 选择{}里面的内容,包括大括号
|lookupfile|
"<F5>"或输入":LookupFile"进行查找
"CTRL-N"和"CTRL-P"(或者用上、下光标键)来在下拉列表中选择你所需的文件
":LUBufs" 开始在缓冲区中查找
":LUWalk" 打开lookupfile窗口后,就可以输入目录
nmap <silent> <leader>lt :LUTags<cr> (配置文件 映射:用,lt可以代替:LUTags)
ctrl+6 打开下一个文件
|cscope|
:cs d <method> or ,cd(配置文件里配置) 查找本函数调用的函数
,cc 查找调用本函数的函数
,ct 查找指定的字符串
,cg 查找函数枚举等定义的位置