📄 java.vim
字号:
" Vim syntax file" Language: Java" Maintainer: Claudio Fleiner <claudio@fleiner.com>" URL: http://www.fleiner.com/vim/syntax/java.vim" Last Change: 2001 May 10" Please check :help java.vim for comments on some of the options available." Quit when a syntax file was already loadedif !exists("main_syntax") if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " we define it here so that included files can test for it let main_syntax='java'endif" don't use standard HiLink, it will not work with included syntax filesif version < 508 command! -nargs=+ JavaHiLink hi link <args>else command! -nargs=+ JavaHiLink hi def link <args>endif" some characters that cannot be in a java program (outside a string)syn match javaError "[\\@`]"syn match javaError "<<<\|\.\.\|=>\|<>\|||=\|&&=\|[^-]->\|\*\/"" use separate name so that it can be deleted in javacc.vimsyn match javaError2 "#\|=<"JavaHiLink javaError2 javaError" keyword definitionssyn keyword javaExternal import native packagesyn keyword javaError goto constsyn keyword javaConditional if else switchsyn keyword javaRepeat while for dosyn keyword javaBoolean true falsesyn keyword javaConstant nullsyn keyword javaTypedef this supersyn keyword javaOperator new instanceofsyn keyword javaType boolean char byte short int long float doublesyn keyword javaType voidsyn keyword javaStatement returnsyn keyword javaStorageClass static synchronized transient volatile final strictfp serializablesyn keyword javaExceptions throw try catch finallysyn keyword javaMethodDecl synchronized throwssyn keyword javaClassDecl extends implements interface" to differentiate the keyword class from MyClass.class we use a match heresyn match javaTypedef "\.\s*\<class\>"ms=s+1syn match javaClassDecl "^class\>"syn match javaClassDecl "[^.]\s*\<class\>"ms=s+1syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhitesyn match javaUserLabelRef "\k\+" containedsyn keyword javaScopeDecl public protected private abstractif exists("java_highlight_java_lang_ids") || exists("java_highlight_java_lang") || exists("java_highlight_all") " java.lang.* syn match javaLangClass "\<System\>" syn keyword javaLangClass Cloneable Comparable Runnable Boolean Byte Class syn keyword javaLangClass Character ClassLoader Compiler Double Float syn keyword javaLangClass Integer Long Math Number Object Package Process syn keyword javaLangClass Runtime RuntimePermission InheritableThreadLocal syn keyword javaLangClass SecurityManager Short String syn keyword javaLangClass StringBuffer Thread ThreadGroup syn keyword javaLangClass ThreadLocal Throwable Void ArithmeticException syn keyword javaLangClass ArrayIndexOutOfBoundsException syn keyword javaLangClass ArrayStoreException ClassCastException syn keyword javaLangClass ClassNotFoundException syn keyword javaLangClass CloneNotSupportedException Exception syn keyword javaLangClass IllegalAccessException syn keyword javaLangClass IllegalArgumentException syn keyword javaLangClass IllegalMonitorStateException syn keyword javaLangClass IllegalStateException syn keyword javaLangClass IllegalThreadStateException syn keyword javaLangClass IndexOutOfBoundsException syn keyword javaLangClass InstantiationException InterruptedException syn keyword javaLangClass NegativeArraySizeException NoSuchFieldException syn keyword javaLangClass NoSuchMethodException NullPointerException syn keyword javaLangClass NumberFormatException RuntimeException syn keyword javaLangClass SecurityException StringIndexOutOfBoundsException syn keyword javaLangClass UnsupportedOperationException syn keyword javaLangClass AbstractMethodError ClassCircularityError syn keyword javaLangClass ClassFormatError Error ExceptionInInitializerError syn keyword javaLangClass IllegalAccessError InstantiationError syn keyword javaLangClass IncompatibleClassChangeError InternalError syn keyword javaLangClass LinkageError NoClassDefFoundError syn keyword javaLangClass NoSuchFieldError NoSuchMethodError syn keyword javaLangClass OutOfMemoryError StackOverflowError syn keyword javaLangClass ThreadDeath UnknownError UnsatisfiedLinkError syn keyword javaLangClass UnsupportedClassVersionError VerifyError syn keyword javaLangClass VirtualMachineError syn keyword javaLangObject clone equals finalize getClass hashCode syn keyword javaLangObject notify notifyAll toString wait JavaHiLink javaLangClass javaConstant JavaHiLink javaLangObject javaConstant syn cluster javaTop add=javaLangObject,javaLangClass syn cluster javaClasses add=javaLangClassendifif filereadable(expand("<sfile>:p:h")."/javaid.vim") source <sfile>:p:h/javaid.vimendifif exists("java_space_errors") if !exists("java_no_trail_space_error") syn match javaSpaceError "\s\+$" endif if !exists("java_no_tab_space_error") syn match javaSpaceError " \+\t"me=e-1 endifendifsyn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharactersyn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=javaLabelsyn keyword javaLabel defaultif !exists("java_allow_cpp_keywords") syn keyword javaError auto delete enum extern friend inline redeclared syn keyword javaError register signed sizeof struct template typedef union syn keyword javaError unsigned operatorendif" The following cluster contains all java groups except the contained onessyn cluster javaTop add=javaExternal,javaError,javaError,javaBranch,javaLabelRegion,javaLabel,javaConditional,javaRepeat,javaBoolean,javaConstant,javaTypedef,javaOperator,javaType,javaType,javaStatement,javaStorageClass,javaExceptions,javaMethodDecl,javaClassDecl,javaClassDecl,javaClassDecl,javaScopeDecl,javaError,javaError2,javaUserLabel,javaLangObject" Commentssyn keyword javaTodo contained TODO FIXME XXXif exists("java_comment_strings")syn region javaCommentString contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=javaSpecial,javaCommentStar,javaSpecialChar,@Spellsyn region javaComment2String contained start=+"+ end=+$\|"+ contains=javaSpecial,javaSpecialChar,@Spellsyn match javaCommentCharacter contained "'\\[^']\{1,6\}'" contains=javaSpecialCharsyn match javaCommentCharacter contained "'\\''" contains=javaSpecialCharsyn match javaCommentCharacter contained "'[^\\]'" syn cluster javaCommentSpecial add=javaCommentString,javaCommentCharacter,javaNumber syn cluster javaCommentSpecial2 add=javaComment2String,javaCommentCharacter,javaNumberendifsyn region javaComment start="/\*" end="\*/" contains=@javaCommentSpecial,javaTodo,@Spellsyn match javaCommentStar contained "^\s*\*[^/]"me=e-1syn match javaCommentStar contained "^\s*\*$"syn match javaLineComment "//.*" contains=@javaCommentSpecial2,javaTodo,@SpellJavaHiLink javaCommentString javaStringJavaHiLink javaComment2String javaStringJavaHiLink javaCommentCharacter javaCharactersyn cluster javaTop add=javaComment,javaLineCommentif !exists("java_ignore_javadoc") && main_syntax != 'jsp' syntax case ignore " syntax coloring for javadoc comments (HTML) syntax include @javaHtml <sfile>:p:h/html.vim unlet b:current_syntax syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,javaDocTags,javaTodo,@Spell syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="@"me=s-1,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,@Spell syn region javaDocTags contained start="{@link" end="}" syn match javaDocTags contained "@\(see\|param\|exception\|throws\)\s\+\S\+" contains=javaDocParam syn match javaDocParam contained "\s\S\+" syn match javaDocTags contained "@\(version\|author\|return\|deprecated\|since\)\>"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -