您的位置:首页 > 其它

一些有用VIM使用笔记

2010-10-13 19:19 357 查看
VIM的折叠功能:http://fuzhong1983.blog.163.com/blog/static/1684705201021741555972/?fromdm&fromSearch&isFromSearchEngine=yes

VIM的ctags使用:http://blog.163.com/lijiji_1515/blog/static/1268774462009105115259621/?fromdm&fromSearch&isFromSearchEngine=yes

另一篇VIM的tags使用:http://vim.wikia.com/wiki/Browsing_programs_with_tags

使用VIM对于C++的自动补全:http://vim.wikia.com/wiki/C++_code_completion

首先是要在vim里面使用cscope的功能的话,必须保证路径名不能包含空格,否则会出现cscope.out不能载入的问题。

可以参考这里的说明:http://vim.1045645.n5.nabble.com/cscope-for-directory-names-with-spaces-td3072662.html

如果需要在代码里面使用tag这个功能,首先保证在当前目录下生成了tags文件。并且保证vim的当前目录就是tags的所在目录,使用:pwd就可以查看当前目录。

代码间使用ctags提供的跳转功能:
:tag TagName # 跳到TagName所在的地方

<Ctrl - ]> 或者 g+鼠标左键 或者<Ctrl>+鼠标左键 # 跳到当前cursor所在的词语的地方

<Ctrl - t> # 回到跳转之前的地方

:tags #查看Tag stack,也就是存放从开始到现在的tag跳转历史的一个地方。旧的在上,新的在下。TO列显示的match的数量。

:ts[elect] TagName # 和:tag不同的是,当搜索到多个tag的时候,会显示一个列表,而不是跳转到第一个结果处。

g] # 和:tag和<Ctrl - ]>的关系差不多,就是:ts的一个当前cursor版本。

:tj[ump] TagName # 和:ts一样,不过会在只有一个结果的情况直接跳到TagName的地方。

g <Ctrl - ]> # :tj的当前cursor版本。

:tn :tp # 当有多个tag match的时候,就在这个多个tag之间跳转。

当在当前文件的目录的父目录下才包含tags文件的时候,可以使用:set tags+=./tags;的方式来达到自动查找ctags文件。

Include file search

: 这个在快速的查找的时候还是非常有用的。
[ + i # 从这个开头开始查找在cursor下面的单词的第一次出现地方。如果有include的文件,则在include文件里面也同时查找。

[ + I # 注意是大写的I。这个是找出所有的cursor下面的单词的出现地方。

[ + <Ctrl - i> # 和[ + i差不多,但是是直接跳转到结果那里。

使用Preview Window来查看代码:
:pta TagName 或者 <Ctrl - w> + } # 打开一个Preview Window并显示相应的tag的信息,cursor停留在原来的位置。

:pc 或者 <Ctrl - w> + z 或者 <Ctrl - w> + <Ctrl - z> # 关闭掉当前的prewin。

<Ctrl - w> + g + { # 和:pta一样,不过cursor会在新开的prewin里面。

在多个tab、buffer、window里面执行同样的命令。这个在开发项目的时候对于同步项目的目录还是很有用的。:tabdo {cmd},:windo {cmd} , :bufdo {cmd} 这样就可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: