Vim + Ctags 更新

由于开发时常常使用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/


你可能感兴趣的:(function,python,cmd,vim,makefile,tags)