Vim语法突出显示java中的标识符和函数

时间:2015-10-06 14:52:08

标签: java vim vim-syntax-highlighting

我想在vim中编辑时突出显示java的标识符和函数。

出于某种原因,当我尝试在vimrc中为函数或标识符设置hi时没有任何变化。

有什么想法吗? 感谢。

2 个答案:

答案 0 :(得分:2)

在查看java.vim文件(我的Mac上的/usr/share/vim/vim73/syntax/java.vim)时,似乎不支持标识符突出显示/语法,并且功能(声明)突出显示需要你在.vimrc中设置了一个标志。所以在你的.vimrc文件中尝试这样的东西:

let java_highlight_functions = 1

然后有一些功能突出显示,但它不是我希望的。它突出显示函数返回类型,名称,参数和大括号。这是我在没有自定义java.vim文件的情况下找到的(参见C++ sample)。

答案 1 :(得分:1)

可以自定义突出显示突出显示标识符的正则表达式。

这是我的正则表达式(只需在java.vim语法文件中找到此行并将其替换为以下内容):

syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^>]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*\ze(+ end=+\ze(+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses

它仍然无法正常工作;有关详细信息,请参阅Vim.SE上的this question