दोनों प्रश्नों का उत्तर नहीं है (मुझे किसी भी कनवर्टर्स के बारे में पता नहीं है और मेरे पास एक क्यू सिंटैक्स हाइलाइटिंग फ़ाइल नहीं है), लेकिन एक्सएमएल प्रारूप को हाइलाइट करने वाला नोटपैड ++ सिंटैक्स बेहद सरल दिखता है। मेरे पास 'क्यू' हाथ नहीं है, लेकिन मैंने 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">- ! " # $ & * , . ; ? @ \^{ | } ~ + < = ></Keywords>
:
syn match Operators /\<[-!"#$&*,.;[email protected]\\^{|}~+<=>]/
(यह है \<
शब्द सीमा को चिह्नित करने के लिए, उसके बाद सभी वर्णों के साथ एक वर्ण वर्ग [..]
के बाद)। अंत में
let b:current_syntax = "q"
:
फिर आप बस से जोड़ना होगा:
if exists("b:current_syntax")
finish
endif
शुरू में
और।
बेशक, यह आपको सभी तरह से नहीं मिलता है, लेकिन उम्मीद है कि यह आपको सिंटैक्स फ़ाइल प्राप्त करने के लिए बहुत कुछ देगा जो आपको चाहिए। इसमें बहुत मदद मिली है:
:help syntax
और रनटाइम फ़ोल्डर की वाक्यविन्यास निर्देशिका में उदाहरणों को देखकर।
शुभकामनाएं!
सुझावों के लिए धन्यवाद! इससे एक विम फ़ाइल को आसान बनाने की प्रक्रिया होनी चाहिए, यह बेहद जटिल नहीं दिखता .. मैं सिर्फ आलसी हूं। –