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


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.