Vim使用
发表于 : 2009-10-25 16:14
如何修改Vim的配置文件,是编写C程序的时候让C语言标准库里的函数也带上颜色
最好自己定义的函数也能有颜色
最好自己定义的函数也能有颜色
代码: 全选
command! HIFUN call HiAllFunc()
hi MyFunction ctermfg=green guifg=green
function! HiAllFunc()
syntax clear MyFunction
let funs = {}
for tag in taglist(".*")
if tag.kind=="p" || tag.kind=="f"
let funs[tag.name] = 1
endif
endfor
if !empty(funs)
exec 'syntax keyword MyFunction '.join(keys(funs), ' ')
endif
endfun
真bot假bot?O_O_BOT 写了:或者这样弄个简单的函数 放入vimrc代码: 全选
command! HIFUN call HiAllFunc() hi MyFunction ctermfg=green guifg=green function! HiAllFunc() syntax clear MyFunction let funs = {} for tag in taglist(".*") if tag.kind=="p" || tag.kind=="f" let funs[tag.name] = 1 endif endfor if !empty(funs) exec 'syntax keyword MyFunction '.join(keys(funs), ' ') endif endfun
:HIFUN 高亮 项目中的函数 前提 生产了tags文件。。
外送一个map
nnoremap <leader>tg :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<cr><cr>:HIFUN<cr>
代码: 全选
"========================================================
" Highlight All Function
"========================================================
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi link cFunction Function
这样很容易误判lilydjwg 写了:加到~/.vim/syntax/c.vim(没有就新建),对 C++ 也有效。代码: 全选
"======================================================== " Highlight All Function "======================================================== syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1 hi link cFunction Function
本人从某处复制过来的