首先到http://www.vim.org/scripts/script.php?script_id=1847下载最新版本的插件
将下载的nc.vim拷贝到~/.vim/syntax目录中
- augroup filetypedetect
- au! BufRead,BufNewFile *nc setfiletype nc
- augroup END
加入文件中。
然后在home下新建.ctags文件,输入,作为nesC的ctags脚本
- --langdef=nesc
- --langmap=nesc:.nc.h
- --regex-nesc=/^module[ \t]*([a-zA-Z0-9_]+)/\1/d,definition/
- --regex-nesc=/^configuration[ \t]*([a-zA-Z0-9_]+)/\1/d,definition/
- --regex-nesc=/^generic configuration[ \t]*([a-zA-Z0-9_]+)/\1/d,definition/
- --regex-nesc=/^generic module[ \t]*([a-zA-Z0-9_]+)/\1/d,definition/
- --regex-nesc=/^interface[ \t]*([a-zA-Z0-9_]+)/\1/d,definition/
- --regex-nesc=/uses[ \t]+interface[ \t]+[a-zA-Z0-9_]+[a-zA-Z0-9 \t]+as[ \t]+([a-zA-Z0-9_]+)/\1/d,definition/
- --regex-nesc=/.*\.([a-zA-Z0-9]+)[ \t]*->.*/\1/d,definition/
在~/.vim/tags/目录下输入命令:
ctags -R --languages=nesc . /opt/tinyos-2.1.2/tos
生成默认文件名为tags的,然后改名为nesCtags,输入命令:
mv tags nesCtags
为了让ctags跳转不要条掉其他标签中,修改.vimrc文件
- autocmd FileType nc set ctags+=~/.vim/ctags/nesCtags
- autocmd FileType c,cpp,cc ctags+=~/.vim/ctags/cpptags
在组件和接口上按ctrl+]即可跳转到该组件或接口的定义文件查看相应信息,按ctrl+t或ctrl+o返回。
未实现:
无法用ctrl + x 和 ctrl + o 实现万能补全,这个问题在CPP和C文件中也有。