कम कमांड और सिंटैक्स हाइलाइटिंग


44

मैं उपयोग करने की आवश्यकता less commandवाक्य रचना के लिए vim आदेश के पर प्रकाश डाला साथ python, C, bashऔर अन्य भाषाओं।

मैं कैसे के अनुसार वाक्य रचना पर प्रकाश डाला रंग लागू होते हैं vimके लिए रंग less command?

जवाबों:


36

सिंटेक्स हाइलाइटिंग less, ज्यादातर * निक्स सिस्टम पर ठीक काम करता है।

apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '

/usr/bin/src-hilite-lesspipe.shइसके बजाय Fedora / RedHat आधारित डिस्ट्रोस का उपयोग करें ।

सिग्विन पर भी आप इसे शेल स्क्रिप्ट पथ के मामूली समायोजन और apt-cygइसके बजाय स्थापित करने के साथ कर सकते हैं apt

हालांकि, इस का उपयोग करते हुए बड़ी फ़ाइलों के ब्राउज़िंग को धीमा कर देता है। मैं aliasइस तरह से उपयोग करने का सुझाव देता हूं LESSOPEN, जब जरूरत हो तो केवल ऊपर के निर्यात को लागू करने के लिए , इस तरह से:

alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '

जहां -Mध्वज फ़ाइल नाम और पंक्ति संख्या दिखाने के लिए सुविधाजनक है।

अपने बिन रास्ते में स्क्रिप्ट को कॉपी करना भी याद रखें:

cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh

अद्यतन: 2019-07-24

जाहिरा तौर पर, अधिक हाल ही में Cygwin स्थापित होने पर, आपके पास आपके पथ में निम्न फ़ाइलें हैं:

source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe

तो अब आप को भी क्रियान्वित करने की आवश्यकता है source-highlight-settings.exeजो विन्यास फाइल को जोड़ेगा
$HOME/.source-highlight/source-highlight.conf:।


उपनाम 'लाह' मेरे लिए काम नहीं करता है। ऑक्स पर रनिंग बैश। आह।
स्कॉट बिग्स

यह एक पूरी तरह से अलग मुद्दा है, सबसे अधिक संभावना है कि OSX विभिन्न शेल और पर्यावरण विकल्पों का उपयोग कर रहा है, जो एकल और दोहरे उद्धरणों की व्याख्या को अलग-अलग तरीके से प्रभावित कर सकता है। आप देख सकते हैं और साथ इन सेट shopt -pऔर set

1
यह मेरे लिए OSX पर काम करता है: पहले मैंने इसके साथ स्थापित किया था: brew install source-highlightफिर मैंने एक उपनाम जोड़ा:alias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
mhvelplund

40

less सिंटैक्स हाइलाइटिंग का समर्थन नहीं करता है।

vim, जैसे सभी viक्लोन में एक रीड-ओनली मोड होता है जिसे viewआप केवल फाइलों को देखने के लिए उपयोग कर सकते हैं। यह वाक्य रचना हाइलाइटिंग सहित विम की सभी विशेषताओं का समर्थन करता है।

जैसे

view filename.py

के बीच मुख्य अंतर है viewऔर viवह दृश्य .swp फ़ाइल बनाकर आपके द्वारा देखी जा रही फ़ाइल को "लॉक" नहीं करता है।


यदि आपका view commandमतलब है radare package, यह केवल पढ़ा नहीं है
पर्शियन सल्फ

4
हम्म, मेरा viewकमांड सिंटैक्स हाइलाइटिंग का समर्थन नहीं करता है। मैंने कोशिश की है :syntax enableऔर :syntax on, लेकिन मुझे हमेशा मिलता है syntax: Not an editor commandvimहालांकि, हाइलाइटिंग का मेरा समर्थन करता है।
फेलिक्स

@ फेलिक्स - क्या आपके पास एक और viपसंद है nviया elvisस्थापित है? /usr/bin/viewअपने डेबियन सिस्टम पर अपनी जाँच करें , यह एक सिम्लिंक /etc/alternatives/viewहै, जो, बदले में, एक सिमलिंक है /usr/bin/vim.basic
कैस

1
हम्म, मेरे मामले में यह एक सहानुभूति है /usr/bin/ex, जो, उत्सुकता से, viपैकेज के स्वामित्व में है।
फेलिक्स

2
मैं पुष्टि कर सकता क्या @Felix कहते हैं, पर arch linux viewकरने के लिए एक सिमलिंक है /usr/bin/exके core/viपैकेज।
x- यूरी

13

lessवाक्यविन्यास तत्वों को उजागर करने के लिए नहीं सिखाया जा सकता है, लेकिन विम का उपयोग पेजर के रूप में किया जा सकता है, अर्थात less। अधिक उन्नत प्लगइन्स हैं, लेकिन मूल स्क्रिप्ट वास्तव में विम ( $VIMRUNTIME/macros/less.sh) के साथ जहाज है । पूरी जानकारी के लिए, विम टिप्स विकी पर सिंटेक्स-हाइलाइटिंग पेजर के रूप में विम का उपयोग करना देखें ।


2
मैं हैरान लोग भी गलत जवाब पोस्ट करने से पहले गूगल के परेशान नहीं करता हूँ ...
not2qubit

1
@ user1147688: यदि आप फेलिक्स के उत्तर को ध्यान से पढ़ते हैं, तो जीएनयू स्रोत-हाइलाइट एक बाहरी कार्यक्रम है, और कम के साथ एकीकरण बहुत ढीला है। ऐसा नहीं है lessकि हाइलाइटिंग करता है; लेकिन वास्तव में विम में यह क्षमता अंतर्निहित है।
इंगो करकट

प्रश्न के लिए "मैं कम कमांड के लिए विम रंगों के अनुसार सिंटैक्स हाइलाइटिंग रंग कैसे लागू करूं?", उत्तर "स्रोत-हाइलाइट का उपयोग करके" एक अधिक सही उत्तर की तरह लगता है कि "विम का उपयोग करके"।
ज़ेनो

1
+1 लेकिन मुझे यकीन है कि ये टिप्पणियां क्या कहना चाह रही हैं - बता नहीं सकती कि क्या वे सकारात्मक या नकारात्मक हैं ("... गलत उत्तर पोस्ट करने से पहले Google" ?, "xyz को स्थापित करना केवल उपयोग करने से अधिक सही है vim "?)। यह उत्तर स्पष्ट रूप से "सबसे सही उत्तर" है। मूल रूप से ओपी को पता नहीं था कि विम की यह विशेषता मौजूद है, और यह उत्तर ओपी को यह बताता है कि यह मौजूद है। ओकाम का रेजर फुट। इसका उदाहरण केवल उदाहरण दिखा कर सुधारा जा सकता है, जैसे$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
michael

12

मैं इंगो से असहमत हूं, वाक्य रचना को उजागर करने के लिए सिखाया less जा सकता है। की जाँच करें इस जवाब SuperUser पर। मूल रूप से, आपको जीएनयू के स्रोत-हाइलाइट (सभी प्रमुख डिस्ट्रो पैकेज रिपॉज में उपलब्ध) को स्थापित करना होगा, और उसके बाद अपने .bashrc(या आपके .bash_profileपास) में निम्नलिखित जोड़ें :

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

हालांकि, ध्यान दें कि हाइलाइटर source-highlightजितना शक्तिशाली नहीं है vim। जो भी सूट आपको सबसे अच्छा लगे उसका इस्तेमाल करें।

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