我想在vim中编辑时突出显示java的标识符和函数。
出于某种原因,当我尝试在vimrc中为函数或标识符设置hi时没有任何变化。
有什么想法吗? 感谢。
答案 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。