首先到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文件中也有。