2010-10-20 9 views
5

मेरे पास q/kdb + भाषा के लिए एक वाक्यविन्यास हाइलाइटिंग फ़ाइल है और मैं इसे एक vim संगत फ़ाइल में कनवर्ट करना चाहता हूं मेरा क्यू कोड सामान्य से अधिक बदसूरत नहीं लगेगा।नोटपैड ++ वाक्यविन्यास को विम करने के लिए फ़ाइल को हाइलाइट करना (या किसी के पास aq/kdb + vim वाक्यविन्यास हाइलाइट फ़ाइल है?)

क्या वीआई संस्करणों में फ़ाइलों को हाइलाइट करने के लिए स्वचालित रूप से नोटपैड ++ xml वाक्यविन्यास को परिवर्तित करने के लिए उपयोगिताएं उपलब्ध हैं? मैंने चारों ओर एक नज़र डाली लेकिन मुझे कुछ भी नहीं मिला।

वैकल्पिक रूप से किसी के पास विम क्यू सिंटैक्स हाइलाइटिंग फ़ाइल है?

उत्तर

4

दोनों प्रश्नों का उत्तर नहीं है (मुझे किसी भी कनवर्टर्स के बारे में पता नहीं है और मेरे पास एक क्यू सिंटैक्स हाइलाइटिंग फ़ाइल नहीं है), लेकिन एक्सएमएल प्रारूप को हाइलाइट करने वाला नोटपैड ++ सिंटैक्स बेहद सरल दिखता है। मेरे पास 'क्यू' हाथ नहीं है, लेकिन मैंने website से किसी एक को देखा और अनुवाद बहुत छोटा दिखता है। उस मामले में, आप के साथ काम के सबसे कर सकता है:

" Remove all the lines that aren't lists of keywords 
" (there doesn't seem to be anything much more complicated 
" than that in the definition file) 
:g!/<Keywords name=/d 
" Convert the lines (fairly poor XML parsing here!) 
:%s/\s*<Keywords name="\([^"]\+\)">\([[:alpha:]_ ]\{-}\)<\/Keywords>/syn keyword \1 \2/ 

यह है कि तरह लग रहे लाइनों के बहुत उत्पन्न करता है:

syn keyword Words1 case then do while 

आप वाक्य रचना वर्ग (Words1 इस मामले में tweak करना होगा) कुछ ऐसा होना जो विम में हाइलाइट किया जाएगा (या इसे किसी भी चीज़ से सिंक करें जो विम में हाइलाइट किया जाएगा)।

आप शायद फिर एक regexp के साथ प्रतीकों के साथ सौदा कर सकता है, लेकिन यह आसान हो सकता है सिर्फ हाथ से उन्हें करने के लिए है, तो कन्वर्ट:

में
<Keywords name="Operators">- ! &quot; # $ &amp; * , . ; ? @ \^{ | } ~ + &lt; = &gt;</Keywords> 

:

syn match Operators /\<[-!"#$&*,.;[email protected]\\^{|}~+<=>]/ 

(यह है \< शब्द सीमा को चिह्नित करने के लिए, उसके बाद सभी वर्णों के साथ एक वर्ण वर्ग [..] के बाद)। अंत में

let b:current_syntax = "q" 

:

फिर आप बस से जोड़ना होगा:

if exists("b:current_syntax") 
    finish 
endif 
शुरू में

और।

बेशक, यह आपको सभी तरह से नहीं मिलता है, लेकिन उम्मीद है कि यह आपको सिंटैक्स फ़ाइल प्राप्त करने के लिए बहुत कुछ देगा जो आपको चाहिए। इसमें बहुत मदद मिली है:

:help syntax 

और रनटाइम फ़ोल्डर की वाक्यविन्यास निर्देशिका में उदाहरणों को देखकर।

शुभकामनाएं!

+0

सुझावों के लिए धन्यवाद! इससे एक विम फ़ाइल को आसान बनाने की प्रक्रिया होनी चाहिए, यह बेहद जटिल नहीं दिखता .. मैं सिर्फ आलसी हूं। –

7

एक क्यू/KDB + vim वाक्य रचना उजागर फ़ाइलें: https://github.com/simongarland/vim

+0

कोई अन्य यहां katusk से उपलब्ध है https://github.com/katusk/vim-qkdb-syntax –

संबंधित मुद्दे

 संबंधित मुद्दे