一些有用VIM使用笔记

40 篇文章 0 订阅
10 篇文章 0 订阅
  1. VIM的折叠功能:http://fuzhong1983.blog.163.com/blog/static/1684705201021741555972/?fromdm&fromSearch&isFromSearchEngine=yes
  2. VIM的ctags使用:http://blog.163.com/lijiji_1515/blog/static/1268774462009105115259621/?fromdm&fromSearch&isFromSearchEngine=yes
  3. 另一篇VIM的tags使用:http://vim.wikia.com/wiki/Browsing_programs_with_tags
  4. 使用VIM对于C++的自动补全:http://vim.wikia.com/wiki/C++_code_completion

  1. 首先是要在vim里面使用cscope的功能的话,必须保证路径名不能包含空格,否则会出现cscope.out不能载入的问题。
    可以参考这里的说明:http://vim.1045645.n5.nabble.com/cscope-for-directory-names-with-spaces-td3072662.html
  2. 如果需要在代码里面使用tag这个功能,首先保证在当前目录下生成了tags文件。并且保证vim的当前目录就是tags的所在目录,使用:pwd就可以查看当前目录。
  3. 代码间使用ctags提供的跳转功能:
    1. :tag TagName   # 跳到TagName所在的地方
    2. <Ctrl - ]>  或者 g+鼠标左键 或者<Ctrl>+鼠标左键 # 跳到当前cursor所在的词语的地方
    3. <Ctrl - t>    # 回到跳转之前的地方
    4. :tags  #查看Tag stack,也就是存放从开始到现在的tag跳转历史的一个地方。旧的在上,新的在下。TO列显示的match的数量。
    5. :ts[elect] TagName  # 和:tag不同的是,当搜索到多个tag的时候,会显示一个列表,而不是跳转到第一个结果处。
    6. g]  # 和:tag和<Ctrl - ]>的关系差不多,就是:ts的一个当前cursor版本。
    7. :tj[ump] TagName # 和:ts一样,不过会在只有一个结果的情况直接跳到TagName的地方。
    8. g <Ctrl - ]> # :tj的当前cursor版本。
    9. :tn :tp # 当有多个tag match的时候,就在这个多个tag之间跳转。
    10. 当在当前文件的目录的父目录下才包含tags文件的时候,可以使用:set tags+=./tags;的方式来达到自动查找ctags文件。
  4. Include file search : 这个在快速的查找的时候还是非常有用的。
    1. [ + i  # 从这个开头开始查找在cursor下面的单词的第一次出现地方。如果有include的文件,则在include文件里面也同时查找。
    2. [ + I  # 注意是大写的I。这个是找出所有的cursor下面的单词的出现地方。
    3. [ + <Ctrl - i> # 和[ + i差不多,但是是直接跳转到结果那里。
  5. 使用Preview Window来查看代码:
    1. :pta TagName 或者 <Ctrl - w> + } # 打开一个Preview Window并显示相应的tag的信息,cursor停留在原来的位置。
    2. :pc 或者 <Ctrl - w> + z 或者 <Ctrl - w> + <Ctrl - z> # 关闭掉当前的prewin。
    3. <Ctrl - w> + g + { # 和:pta一样,不过cursor会在新开的prewin里面。
  6. 在多个tab、buffer、window里面执行同样的命令。这个在开发项目的时候对于同步项目的目录还是很有用的。:tabdo {cmd},:windo {cmd} , :bufdo {cmd} 这样就可以。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值