मैं किसी फाइल पर हाइलाइटिंग सिंटैक्स कैसे प्रदर्शित कर सकता हूं?


42

क्या catस्रोत फ़ाइल पर उपयोग किए जाने वाले कोड के वाक्यविन्यास-हाइलाइट किए गए आउटपुट का एक प्रकार है ?

एक विचार: हो सकता है vi[m]या किसी अन्य संपादक को उक्त फाइलों की वाक्य रचना-हाइलाइट की गई सामग्री को डंप करने stdoutऔर तुरंत बाहर निकलने के लिए कहा जा सकता है ?

जवाबों:


48

के माध्यम से फाइल पास करने से फ़ाइल नाम से प्रकार का पता लगाने और इसे उचित रूप से उजागर करने का प्रयास किया जाएगा।pygmentize-f terminal


क्या वह स्टार ट्रेक: उनके लोगो में डीप स्पेस नाइन फॉन्ट है? अगर यह कमाल है।
— एम्फ़ैटेमाचिन

2
python-pygmentsडेबियन पर पैकेज के रूप में उपलब्ध है ।
— enzotib

6
मुझे alias pcat="pygmentize -f terminal256 -O style=native -g"एक अच्छा समाधान मिला
— मिकेल

1
भी के माध्यम से उपलब्धpip install pygments
— craigb

1
वास्तव में यह होना ही चाहिए cat code.extension | pygmentize -f terminal -l extension।
— फिएटजैफ

13

स्रोत-प्रकाश डाला पैकेज है जो एएनएसआई भागने दृश्यों के साथ प्रकाश डाला esc.outlang उत्पादन भाषा परिभाषा के साथ भेज दिया है।

src-hilite-lesspipe.shपैकेज में एक आसान आवरण भी शामिल है, इसलिए टर्मिनल में हाइलाइट किए गए आउटपुट को प्रदर्शित करना उचित है src-hilite-lesspipe.sh source.file।

वास्तव में src-hilite-lesspipe.shप्राथमिक कारण इसके उपयोग को स्वचालित करने में मदद source-highlightकरना है less। आप बस सेट करें:

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

फिर कोई भी less source.fileहाइलाइटेड सोर्स कोड दिखाएगा। (अज्ञात भाषा में कोड अनलेड होकर गुजर जाएगा। रीडायरेक्ट की गई सामग्री के मामले में हाइलाइटिंग को भी छोड़ दिया जाएगा less < source.file।)


अच्छा, इस उत्तर को लिखने के लिए समय निकालने के लिए धन्यवाद
— पाओलो

3

हाइलाइट उपयोग करने में सरल और से तेज हैpygmentize


2
बस का उपयोग करने के लिए मत भूलना -O ansi: इसके विपरीत pygmentize, highlightडिफ़ॉल्ट रूप से HTML आउटपुट।
— रुस्लान

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