मेरे पास एक कमांड लाइन प्रोग्राम है जो जेएसओएन और वाईएएमएल को फैलाता है। डिफ़ॉल्ट रूप से यह पता लगाता है कि क्या पाइगल्स (पेंगलाइज) उपलब्ध है और यदि ऐसा होता है, तो एक अच्छा रंगीन आउटपुट प्राप्त करने के लिए आउटपुट को पास करें। हालांकि, अधिकांश प्रोग्रामों पर डिफ़ॉल्ट रूप से पिंडल स्थापित नहीं होते हैं जो इस प्रोग्राम पर चलेंगे। लेकिन अधिकांश कंप्यूटरों में या तो emacs या vim होगा, हालांकि, करता है। क्या इन संपादकों में से एक को सिंटैक्स-एएनएसआई एस्केप अनुक्रमों का उपयोग करके कुछ पाठ को हाइलाइट करने का एक तरीका है और फिर इसे फिर से आउटपुट करना है?कमांड लाइन प्रोग्राम के लिए emacs 'या vim के वाक्यविन्यास हाइलाइटर का उपयोग करना?
उत्तर
Emacs एक समारोह htmlfontify
कहा जाता है कि HTML करने के लिए एक fontified बफर में परिवर्तित कर देंगे भी शामिल है। आप इसे HTML के रूप में फ़ाइल प्रस्तुत करने के लिए बैच मोड में एक छोटी elisp स्क्रिप्ट के साथ उपयोग कर सकते हैं। उदाहरण के लिए:
emacs -q --batch --file myfile.rb --eval '(progn (require (quote htmlfontify)) (htmlfontify-buffer) (set-buffer-modified-p t) (save-buffer))'
धन्यवाद। खेद है कि यह स्पष्ट नहीं किया गया है, इसलिए मुझे एएनएसआई एस्केप अनुक्रमों में इसकी आवश्यकता है क्योंकि मैं टर्मिनल पर आउटपुट कर रहा हूं। मेरा EmacsLisp-fu गंभीर रूप से सीमित है, लेकिन आपने मुझे खेलने के लिए कुछ पॉइंटर्स दिए हैं। –
तरह Emacs (। सीपी ataylor का जवाब), विम पूरा वाक्य रचना HTML को उजागर करने के साथ एक बफर प्रदान कर सकते हैं; :help 2html.vim
देखें। आप शायद प्लगइन का कोड है कि बफर के वाक्य रचना के माध्यम से चला जाता है की बहुत फिर से इस्तेमाल कर सकते हैं, और एएनएसआई भागने दृश्यों के रेंडर करने के लिए इसे बदलने के लिए, लेकिन आप खुद ही सब प्रतिपादन तर्क को फिर से लागू करना होगा।
हालांकि कुछ plugins है कि एक पेजर के रूप विम रोजगार देखते हैं, मुझे नहीं लगता कि यह संभव है बस एएनएसआई भागने दृश्यों के साथ बफर उत्पादन के लिए विम उपयोग करने के लिए है। आखिरकार, विम टर्मिनल पर नियंत्रण रखना चाहता है, और बाहर निकलने पर इसे साफ़ करता है।
मैं, एक और, विम बाहर समर्पित समाधान के लिए देखने के लिए सुझाव देते हैं, हालांकि आप इसे स्थापित करने की जरूरत का मतलब है कि चाहते हैं।
आप @IngoKarkat सलाह का पालन करें और मानक प्लगइन को फिर से लिखने एएनएसआई एस्केप अनुक्रम तुम मेरे formatvim प्लगइन का उपयोग कर सकते हैं का समर्थन करने के लिए नहीं करना चाहते हैं, तो यह
Format format csi to /path/to/file
का उपयोग करके एएनएसआई एस्केप अनुक्रम को प्रतिपादन समर्थन करता है। शुरुआत में मेरी प्लगइन एक नए प्रारूप के आसान जोड़ के साथ विभिन्न प्रारूपों के समर्थन के लिए मानक 2 एचटीएमएल लक्ष्यीकरण का एक पुनर्लेख था (मैंने एएनएसआई एस्केप अनुक्रम समर्थन जोड़ने के लिए लगभग 30 मिनट बिताए, ज्यादातर इन अनुक्रमों के विनिर्देश को पढ़ते हुए), लेकिन वर्तमान कोड बहुत दूर चला गया है समानता का जिक्र करें। यह बड़ी फ़ाइलों के लिए तेजी से काम करने के लिए जाना जाता है या जब आप vim का एक उदाहरण का उपयोग फ़ाइलों की एक संख्या प्रस्तुत करने के लिए (अर्थात जब वार्मअप ("संकलन" और कैश भरने) चरण आगे रन के लाभ के नीचे दब जाता है)।
संपादक पहले से ही एएनएसआई सामान, बल्कि संपादक का एक स्क्रीन पर कब्जा नहीं बनाने के लिए, आसान कर सकते हैं के रूप में?
script -qc "stty rows 10000
emacs -nw -visit YOURFILE.YAML -eval '(redisplay t)' -f kill-emacs
resize"
(पुन: प्रदर्शित केवल जीएनयू FSF Emacs के लिए आवश्यक है)
अब कब्जा
perl -p0E 's/\A(?s:.*)\e\[27m\r\n
\e\[A\n((?s).*?)
(?:\e\[K\n)+
\e.*\e\[27m\r$(?s:.*)\Z/$1/mx' < typescript
को साफ आप रिकॉर्डिंग प्रक्रिया स्क्रीन पर दिखाई नहीं करना चाहते हैं, तो आप इसे लपेट कर सकते हैं एक छिपे टर्मिनल में जैसे कि पर्ल के आईओ :: पीटी
अच्छी चाल! यद्यपि समस्या के लिए थोड़ी अधिक मात्रा में। धन्यवाद। –
मैथ्यू वोजनिस्की ने vimcat.sh नामक एक स्क्रिप्ट लिखी जो विम के साथ करता है। उनका संस्करण https://github.com/godlygeek/vim-files/blob/master/macros/vimcat.sh पर है। मैंने इसमें कुछ संशोधन किए हैं (यदि मेमोरी परोसा जाता है, तो संशोधनों ने इसे अपने मैक ओएस एक्स सिस्टम पर चलाने की अनुमति दी; मुझे पता है कि /proc/self/fd/9
के लिए उस उद्देश्य का था); https://gist.github.com/4090959 पर मेरी जिस्ट देखें।
मेरा मानना है कि स्क्रिप्ट के दोनों संस्करणों में डिफ़ॉल्ट पृष्ठभूमि रंग पर लौटने में समस्या है यदि विम की हाइलाइटिंग पृष्ठभूमि को बदलती है।
- 1. इको vim कमांड लाइन
- 2. jqplot विभिन्न लाइन ग्राफ के लिए हाइलाइटर
- 3. Emacs या Vim
- 4. एक कमांड लाइन प्रोग्राम के आसपास एक emacs wrapper मोड बनाने के लिए नुस्खा?
- 5. जावा सॉफ़्टवेयर संपादक/वाक्यविन्यास हाइलाइटर
- 6. जावा कमांड लाइन प्रोग्राम
- 7. Emacs VIM के `%` के बराबर है?
- 8. सी # कमांड-लाइन प्रोग्राम
- 9. क्या NetBeans के लिए मूंछ सिंटेक्स हाइलाइटर या प्लगइन है?
- 10. Emacs टैब बनाना vim के
- 11. Emacs के खुले आयत के समतुल्य Vim
- 12. $ PAGER के लिए Emacs का उपयोग कर?
- 13. Emacs कस्टम कमांड लाइन तर्क
- 14. कमांड लाइन तर्क के साथ sed का उपयोग करना?
- 15. जावा निष्पादन कमांड लाइन प्रोग्राम
- 16. कमांड लाइन से सी-प्रोग्राम का पूरा रिटर्न वैल्यू पाने के लिए मुझे क्या करना चाहिए?
- 17. वेबसाइट स्क्रीनशॉट (लिनक्स पर) बनाने के लिए कमांड लाइन प्रोग्राम
- 18. ग्रहण के लिए एक मूंछ टेम्पलेट वाक्यविन्यास हाइलाइटर या प्लगइन है?
- 19. पावरहेल या कमांड लाइन
- 20. क्रोम के लिए सिंटेक्स हाइलाइटर का उपयोग कर अतिरिक्त लाइनें?
- 21. किसी प्रोग्राम में फ़ाइलों को पास करने के लिए कमांड लाइन तर्क का उपयोग
- 22. सी ++ कमांड लाइन तर्क के साथ एक और प्रोग्राम निष्पादित करने के लिए प्रोग्राम
- 23. सी # या कमांड लाइन
- 24. कैसे vimscript में vim कमांड लाइन तर्क का पता लगाने के लिए?
- 25. कमांड लाइन या डीबगर
- 26. vold.fstab, या dev_mount लाइन के वाक्यविन्यास की सामग्री क्या है?
- 27. cl.exe का उपयोग कर कमांड लाइन संकलित?
- 28. कमांड लाइन
- 29. एसक्यूएल सर्वर डेटाबेस बैकअप के लिए एक सरल कमांड लाइन प्रोग्राम या स्क्रिप्ट क्या है?
- 30. कमांड लाइन से जावा प्रोग्राम के निष्पादन को कैसे रोकें?
बीटीडब्ल्यू, मुझे बस कोडर के बारे में पता चला। यह रूबी आधारित है और इसके कमांड लाइन प्रोग्राम pygmentize से बहुत तेज है। –
एक और विकल्प होगा [जीएनयू स्रोत-हाइलाइट] (http://www.gnu.org/software/src-highlite/source-highlight.html)। मैं [कम] के साथ रंग पाने के लिए इसका उपयोग करता हूं (http://superuser.com/a/71593/79870)। –
@RandyMorris: हाँ, इसके लिए एक सीपीएएन मॉड्यूल भी है (मेरा प्रोग्राम पर्ल-आधारित है)। एकमात्र समस्या यह है कि निर्भरता काफी बड़ी है (सीपीएएन मॉड्यूल बनाने के लिए स्रोत-हाइलाइट और इसके देव पुस्तकालयों को स्थापित करना लगभग 100 एमबी डेबियन पैकेज खींचता है)। –