关闭

Vim + Ctags 更新

标签: vimtagsmakefilefunctioncmdpython
1354人阅读 评论(0) 收藏 举报
分类:

由于开发时常常使用Ctags进行跳转查询,因此特意写了一个函数用于更新ctags

代码:

"递归查询父文件夹的tags文件,这样在项目的那个文件夹当中就都可以访问同一个tags文件了

set tags=tags;

"更新ctags,找寻父文件夹原有tags文件

function UpdateCtags()
    let curdir=getcwd()
    while !filereadable("./tags")
        cd ..
        if getcwd() == "/"
            break
        endif
    endwhile
    if filewritable("./tags")
        !ctags -R --c++-types=+px --excmd=pattern --exclude=Makefile --exclude=.
    endif
    execute ":cd " . curdir
endfunction

“映射键盘上的F10对应更新tags

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

自己用着挺爽……嘿嘿


====

http://csslayer.blogbus.com/logs/56495074.html


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在~/.vimrc中加入
function! UPDATE_TAGS()
  let _f_ = expand("%:p")
  let _cmd_ = '"ctags -a -f /dvr/tags --c++-kinds=+p --fields=+iaS --extra=+q " ' . '"' . _f_ . '"'
  let _resp = system(_cmd_)
  unlet _cmd_
  unlet _f_
  unlet _resp
endfunction
autocmd BufWrite *.cpp,*.h,*.c call UPDATE_TAGS()

或者这个vim7.0的插件,又或者装这个AutoTag插件,要求Vim6,且编译时要支持python。

====

http://blog.163.com/lgh_2002/blog/static/4401752620115132456450/


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:355371次
    • 积分:4046
    • 等级:
    • 排名:第7983名
    • 原创:6篇
    • 转载:246篇
    • 译文:0篇
    • 评论:18条
    文章分类
    最新评论