web-dev-qa-db-ja.com

Java Vimの構文の強調表示を改善?

私はVimがRubyとPythonの好みの配色で構文を強調表示していることがわかりましたが、Javaコードを書く必要があるときはいつでも、そもそもハイライトをオンにしていません。

ご覧のとおり、キーワードは強調表示されていますが、括弧またはメソッドの強調表示はありません。 Sublime Text(私にとってはそれほど好まれないエディター)で、私ははるかに優れた強調表示を目にしています。クラス名のイタリック体と数学演算子の強調表示があります。比較すると、Vimはまばらに見えます。

Vimで魅力的なSublime Textスタイルの強調表示を取得する方法はありますか?

16
kunaicode

cSyntaxAfter プラグインを見てください。オペレーターなどを強調しています。

別のオプションは、syntax/Java.vimスクリプトを編集し、Operatorグループの強調表示を追加することです。例としてsyntax/Pascal.vimをご覧ください。

Javaシンタックスファイルがグループとして認識している場合に可能であるはずですが、クラス名にイタリックを使用したい場合、クラス名はJavaTypedefグループ。

次に、そのグループに新しいハイライトを定義する必要があります。それは行を削除することを意味します

JavaHiLink javaTypedef                Typedef

構文ファイルから、新しいものを追加します。以下では、TypedefがリンクされているTypeのハイライト宣言を再利用しています。 termunderlineからitalicに変更しました。

以下をyout Java.vim構文ファイルに追加する必要があります。

hi javaTypedef term=italic cterm=NONE ctermfg=LightGreen ctermbg=NONE gui=bold guifg=#60ff60 guibg=NONE
0
Roland Smith

そこには、リッチな構文ファイルがないだけのようです。

ただし、バンドルされている構文ファイルをもう少し絞ることができます。

let Java_highlight_functions = 1
let Java_highlight_all = 1
" If you are trying this at runtime, you need to reload the syntax file
set filetype=Java

" Some more highlights, in addition to those suggested by cmcginty
highlight link javaScopeDecl Statement
highlight link javaType Type
highlight link javaDocTags PreProc

最初のトリックは here から来ました。

誰かがより豊かなJava構文ファイルを作成した場合、それを vim-polyglot

2
joeytwiddle

私はVimでbase16-defaultの配色を使用していますが、なんらかの理由でJavaの色の定義がうまくいっていません。次の行を追加すると、その方法の一部を取得するのに役立ちます。

" Java: 'new', 'instanceof'
highlight Operator ctermfg=5  guifg=#d175bc
" Java: 'this', 'super'
highlight Typedef ctermfg=5  guifg=#d175bc
" Java: 'void', 'int', 'double'
highlight Type ctermfg=4  guifg=#69b7d3
" literal numbers
highlight Number term=bold ctermfg=16 gui=bold guifg=#d2d22d
1
cmcginty