Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6033773
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16632
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

分类: LINUX

2015-08-25 15:48:29

vim的ctagstaglist在默认情况下是不进行自动更新的,这对于编写代码是非常不方便的,好在vim的脚本还是很强大的,于是在vimrc中添加如下函数:

点击(此处)折叠或打开

  1. function! UpdateCtags()
  2.     let curdir=getcwd()
  3.     while !filereadable("./tags")
  4.         cd ..
  5.         if getcwd() == "/"
  6.             break
  7.         endif
  8.     endwhile
  9.     if filewritable("./tags")
  10.         !ctags -R --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --c++-kinds=+p --fields=+iaS --extra=+q
  11.         TlistUpdate
  12.     endif
  13.     execute ":cd " . curdir
  14. endfunction

接下来,可以使用键盘映射的方式调用这个更新函数:

nmap <F10> :call UpdateCtags()<CR>

 
也可以在vim保存文件时自动更新:
autocmd BufWritePost *.c,*.h,*.cpp call UpdateCtags()

这两种方式用哪种都OK,自动保存可能会发生一些性能上的不爽,键盘映射按多了也烦。

原文地址:%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0ctags%E4%B8%8Etaglist/
阅读(2947) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~