一些有用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} 这样就可以。
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} 这样就可以。
相关文章推荐
- vim+cscope+ctags一些使用笔记
- Linux复习笔记(五) -- vim编辑器基本使用
- 关于vim的一些使用以及Dos文件到Linux、Mac下问题
- 学习笔记_JFrame的一些使用(1)
- 【笔记】struts2学习笔记(二)--常见问题/一些配置/Myeclipse使用
- vimdiff 使用笔记
- vim使用笔记
- linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
- 一些不起眼但非常有用的 Vim 命令
- centos 下安装vim 及vim的一些使用技巧
- 个人vim使用笔记
- [Vim]vim使用笔记--分屏操作
- DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .
- vim使用笔记
- vim 使用笔记(转载+自己整理)
- vim的一些使用备忘
- Eclipse IDE 使用技巧 (Eclipse工作空间小技巧)(自己的一些学习笔记和心得,记录下来,备忘录和复习使用)
- 一些不起眼但非常有用的 Vim 命令
- 一些使用Vim的小技巧
- 【Vim】Vim使用笔记之一——安装和配置Vim