Vim에서 Java의 구문 강조가 더 좋습니까?


16

Vim은 Ruby와 Python에서 선호하는 색 구성표를 사용하여 환상적인 구문 강조 표시를 찾았지만 Java 코드를 작성해야 할 때마다 강조 표시를 설정하지 않은 것처럼 보입니다.

보시다시피 키워드는 강조 표시되지만 괄호 나 방법은 강조 표시되지 않습니다. Sublime Text (나보다 덜 선호하는 편집기)에서는 강조 표시가 훨씬 좋습니다. 클래스 이름에 대한 이탤릭체와 수학 연산자에 대한 강조 표시가 있습니다. Vim은 비교가 드물어 보인다.

Vim에서 그 숭고한 Sublime Text 스타일의 하이라이트를 얻을 수있는 방법이 있습니까?


Sublime Text에서 Vintage 모드 를 사용해 보셨습니까 ? vi (m)에서 사용하는 모든 키 바인딩을 변경하면서도 구문 강조 및 다중 선택 편집과 같은 ST2의 강력한 기능을 계속 사용할 수 있습니다.
MattDMo

2
ST2에서 빈티지 모드를 사용하도록 설정했지만 터미널에서 여러 tmux 창을 열어서 사용할 수 있기 때문에 여전히 Vim을 선호합니다. 따라서 편집기를 1 초 이상 두지 않고 동시에 원격 시스템으로 ssh 할 수 있습니다.
kunaicode 23

그렇습니다. GUI 편집기를 사용하는 데 약간의 장애가 있습니다.
MattDMo

답변:


0

cSyntaxAfter 플러그인을 살펴보십시오 . 운영자 등을 강조합니다.

다른 옵션은 syntax/java.vim스크립트 를 편집 하고 Operator그룹 에 강조 표시를 추가하는 것 입니다. 한 번 봐 가지고 syntax/pascal.vim예로을.

클래스 이름에 이탤릭체를 사용하고 싶습니다. 자바 구문 파일이 그룹으로 인식하면 가능해야한다고 생각합니다. 클래스 이름이 JavaTypedef그룹 에있는 것 같습니다 .

그런 다음 해당 그룹에 대한 새 하이라이트를 정의해야합니다. 그것은 라인을 제거하는 것을 의미합니다

JavaHiLink javaTypedef                Typedef

구문 파일에서 새 파일을 추가하십시오. 아래에서는 Typedef가 연결된 Type에 대한 hightlight 선언을 다시 사용하고 있습니다. term에서 (으) underline로 변경 했습니다 italic.

yout java.vim구문 파일에 다음을 입력해야 합니다.

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

도움을 주셔서 감사하지만 클래스 이름을 대문자로하는 플러그인이 있습니까?
kunaicode

@ kunaicode : 내가 아는 것은 아닙니다. 구문 강조는 코드 의 의미 를 변경하지 않습니다 . 대문자 사용. 개인적 으로 필자는 작성한 코드를 자동으로 변경하는 플러그인을 즉시 제거합니다.
롤랜드 스미스

혼란을 드려 죄송 합니다. 클래스 이름을 이탤릭체로 표기했습니다 . 대문자로하지 마십시오. 죄송합니다.
kunaicode

@kunaicode : 업데이트 된 답변을 참조하십시오.
Roland Smith

2

단순히 풍부한 구문 파일이없는 것 같습니다.

그러나 우리는 우리가 가진 번들 구문 파일을 조금 더 짜낼 수 있습니다.

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

첫 번째 트릭은 여기 에서왔다 .

누군가가 더 풍부한 Java 구문 파일을 만들면 vim-polyglot에 추가해야합니다 !


1

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.