विम में जावा के लिए बेहतर सिंटैक्स हाइलाइटिंग?


16

मैंने पाया है कि रूबी और पायथन के लिए मेरी पसंदीदा रंग योजनाओं के साथ शानदार सिंटैक्स हाइलाइटिंग है, लेकिन जब भी मुझे जावा कोड लिखने की आवश्यकता होती है, यह ऐसा है जैसे मैंने पहली बार में हाइलाइटिंग चालू नहीं किया है।

जैसा कि आप देख सकते हैं, कीवर्ड हाइलाइट किए गए हैं, लेकिन कोष्ठक या विधियों के लिए कोई हाइलाइटिंग नहीं है। उदात्त पाठ (मेरे द्वारा बहुत कम पसंदीदा संपादक) में, मैं कहीं अधिक बेहतर हाइलाइटिंग देखता हूं। गणितीय संचालकों के लिए वर्ग के नाम और हाइलाइटिंग के लिए इटैलिकाइजेशन है। विम तुलना में विरल दिखता है।

क्या कोई रास्ता है, किसी भी तरह से कि सुस्वाद उदात्त पाठ शैली पाने के लिए विम पर प्रकाश डाला?


क्या आपने उदात्त पाठ में विंटेज मोड का उपयोग करने की कोशिश की है ? यह उन vi (m) उपयोगों के लिए सभी प्रमुख बाइंडिंग को बदल देता है, फिर भी ST2 की शक्तिशाली विशेषताओं जैसे बेहतर सिंटैक्स हाइलाइटिंग और कई चयन संपादन की अनुमति देता है।
मैटडैमो

2
मेरे पास ST2 में विंटेज मोड सक्षम है, लेकिन मैं अभी भी विम को पसंद करता हूं क्योंकि मैं इसे टर्मिनल में उपयोग कर सकता हूं, जिसमें कई tmux पैन खुले हैं ताकि मैं अपने एडिटर को एक सेकंड से अधिक समय तक छोड़ने के बिना एक साथ मेरी रिमोट मशीन में ssh कर सकूं।
kunicode

हाँ, GUI संपादक का उपयोग करने का वह मामूली झटका है ...
MattDMo

जवाबों:


0

CSyntaxAfter प्लगइन पर एक नज़र है । यह ऑपरेटर्स वगैरह पर प्रकाश डालता है।

एक अन्य विकल्प syntax/java.vimस्क्रिप्ट को संपादित करना और Operatorसमूह के लिए हाइलाइटिंग जोड़ना है । पर एक नज़र डालें syntax/pascal.vimएक उदाहरण के रूप।

यह आप वर्ग नामों के लिए इटैलिक का उपयोग करना चाहते हैं, यह संभव होना चाहिए अगर जावा सिंटैक्स फ़ाइल उन्हें एक समूह के रूप में पहचानती है, और मुझे लगता है कि यह करता है। ऐसा लगता है कि JavaTypedefसमूह के नाम समूह में हैं।

फिर आपको उस समूह के लिए एक नया हाइलाइट परिभाषित करना होगा। इसका मतलब होगा कि लाइन को हटाना

JavaHiLink javaTypedef                Typedef

वाक्यविन्यास फ़ाइल से, और एक नया जोड़ना। नीचे मैं टाइप के लिए हाईलाइट डिक्लेरेशन का फिर से उपयोग कर रहा हूं, जो कि टाइपडीफ से जुड़ा हुआ है। मैं बदल termसे underlineकरने के लिए italic

आपको निम्न को java.vimसिंटैक्स फ़ाइल में रखना चाहिए ।

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

मदद के लिए धन्यवाद, लेकिन क्या / कोई प्लगइन या प्लगइन्स हैं जो वर्ग नामों को कैपिटल में रखते हैं?
कुनिकोड

@kunaicode: ऐसा नहीं है कि मुझे पता है। सिंटैक्स हाइलाइटिंग कोड के अर्थ को परिवर्तित नहीं करता है । पूंजीकरण करता है। व्यक्तिगत रूप से मैं तुरंत एक प्लगइन निकालूंगा जो स्वचालित रूप से कोड को बदल देगा जो मैंने लिखा है।
रोलैंड स्मिथ

मैं भ्रम के लिए माफी माँगता हूँ - मेरा मतलब था, वर्ग के नाम का इटैलिकाइज करना । पूँजी नहीं। माफ़ करना।
कुनिकोड

@kunaicode: अपडेट किया गया उत्तर देखें।
रोलैंड स्मिथ

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

पहली चाल यहीं से हुई

यदि कोई कभी भी एक अमीर जावा सिंटैक्स फ़ाइल बनाता है, तो हमें इसे vim-polyglot में जोड़ना चाहिए !


1

मैं विम में base16- डिफॉल्ट कलर स्कीम का उपयोग कर रहा हूं और किसी कारण से यह जावा के लिए रंगों को परिभाषित करने में खराब काम करता है। निम्नलिखित पंक्तियों को जोड़ने से वहाँ के भाग को प्राप्त करने में मदद मिलेगी:

" 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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.