मैं नैनो में सिंटैक्स हाइलाइटिंग को कैसे सक्षम करूं?


184

क्या नैनो गेडिट और विम की तरह वाक्य रचना हाइलाइटिंग कर सकता है? मैं इसे कैसे सक्षम कर सकता हूं? मुझे कम से कम बैश और पाइथन सिंटैक्स हाइलाइट चाहिए।


1
गिट रेपो में वाक्य रचना फ़ाइलों के लिए बहुत बहुत धन्यवाद, मैं अब अपने सभी सर्वरों पर इसका उपयोग करता हूं ... अच्छे काम को बनाए रखें !!!

1
@ TheGene टिप्पणी और उत्तर पर धन्यवाद। रेपो को इसका श्रेय जाता है, मुझे नहीं, सवाल पूछने वाले को।
ऑक्सीविवि

जवाबों:


175

नैनो संपादक अपने आप में कुछ भाषाओं और लिपियों के लिए वाक्य रचना हाइलाइटिंग प्रदान करता है। चेक आउट/usr/share/nano/

nits@nits-excalibur:~$ ls /usr/share/nano/
asm.nanorc     fortran.nanorc   man.nanorc     ocaml.nanorc   ruby.nanorc
awk.nanorc     gentoo.nanorc    mgp.nanorc     patch.nanorc   sh.nanorc
c.nanorc       groff.nanorc     mutt.nanorc    perl.nanorc    tcl.nanorc
cmake.nanorc   html.nanorc      nano-menu.xpm  php.nanorc     tex.nanorc
css.nanorc     java.nanorc      nanorc.nanorc  pov.nanorc     xml.nanorc
debian.nanorc  makefile.nanorc  objc.nanorc    python.nanorc

उन्हें ~/.nanorcइस लाइन के निकट कुछ के साथ अपने उपयोगकर्ता के नैनो कॉन्फ़िगरेशन फ़ाइल में लिंक करें :

nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc

अब, जो भी फ़ाइल आपने लिंक की है उसके लिए नैनो में सिंटैक्स हाइलाइटिंग सक्षम है (आप कई फ़ाइलों को लिंक भी कर सकते हैं)

सिंटैक्स हाइलाइटिंग का स्क्रीनशॉट

नोट: कभी-कभी आपको segmentation faultअपनी ~/.nanorcफ़ाइल संपादित करने के बाद मिल सकती है । यदि ऐसी त्रुटि होती है, तो LANG पर्यावरण चर को अनसेट करने से मदद मिलती है। आप इसे unset LANGटर्मिनल में अनसेट कर सकते हैं । (समाधान यहाँ से प्राप्त )

यदि आप अपने बैश हाइलाइटिंग से संतुष्ट नहीं हैं तो अन्य समाधान भी हैं। इसका एक उदाहरण यहां पाया जा सकता है

आप include /usr/share/nano/*सभी भाषाओं को हाइलाइट करने में सक्षम होने के लिए ~ / .nanorc फ़ाइल भी लिख सकते हैं यदि आपका नैनो संस्करण इसका समर्थन करता है।


1
उन पंक्तियों को अनसुना किया गया है /etc/nanorc- क्या वैश्विक सेटिंग्स को अधिलेखित किया जा रहा है ~/.nanorc? मैं कैसे निष्क्रिय .nanorcकरूं?
ऑक्सीविवि

13
ओह रुको, मेरे पास ~/.nanorcफाइल भी नहीं है ।
ऑक्सीविवि

1
रुको, रुको, मैं सभी includeलाइनों के साथ वैश्विक सेटिंग कैसे आता हूं, हालांकि मैंने नहीं किया है .nanorc?
ऑक्सीविवि

9
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorcउन सभी को अपनी .nanorc फ़ाइल में जोड़ें, या इसे तब बनाएँ जब यह मौजूद न हो।
Thom पोर्टर

9
include /usr/share/nano/*काम नहीं कर रहा है
Jarek Jakubowski

74

हां आप कर सकते हैं, हालांकि डिफ़ॉल्ट वाक्यविन्यास परिभाषाएं काफी खराब और अधूरी हैं। मैं यहां परिभाषाओं का अधिक सटीक सेट रख रहा हूं , जो भी उन्हें उपयोगी लगता है।

स्थापित करने के लिए, चलाएं:

git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install

इन पंक्तियों को ~ / .nanorc में जोड़ें

include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc

उन लोगों को निर्दिष्ट करें जिनके लिए आप रंग बनाना चाहते हैं, और आपको अपनी प्राथमिकता के अनुसार इन रंगों को ट्यून करना होगा। ALL.nanorcसब अभी तक अवर्गीकृत फ़ाइलों के लिए सुविधाओं का वर्णन। ये वे उपकरण हैं जिनकी आपको शुरुआत करनी होगी, न कि पॉलिश उत्पाद।


6
GitHub में उन अच्छी वाक्यविन्यास परिभाषाओं को रखने के लिए धन्यवाद।
रुबेंस मरिज़ो

3
मेरे * .js फाइलें काम नहीं कर रही थीं ... किसी भी अन्य वाक्यविन्यास को हटाने के लिए संपादित / etc / nanorc अक्सर पूछे जाने वाले प्रश्न github.com/nanorc/… के अनुसार शामिल हैं । ♥ नैनो ♥ नानोरक
कार्लटन

5
मैंने मैक ओएसएक्स पर आपके सिंटैक्स डेफ़्स को बस स्थापित किया है। केवल एक ही चीज़ पर ध्यान देना चाहूंगा, जो कि अजगर में खुले ब्रैकेट का काला रंग है, मेरे टर्मिनल की काली पृष्ठभूमि के खिलाफ खो जाता है
टॉम बुस्बी

5
वास्तव में एक समस्या है, कुछ रंगीन पाठ काला है! यदि हमारी टर्मिनल पृष्ठभूमि काली है, तो ये शब्द अदृश्य हैं!
डुकविन डिक्

8
आपके पास एक मृत लिंक है
not2qubit

52

मैंने सभी उपलब्ध भाषाओं को जल्दी से सक्षम करने के लिए इस कमांड का उपयोग किया।

find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc

जैसा कि अन्य उत्तरों में बताया गया है, /usr/share/nano/विभिन्न भाषाओं के लिए परिभाषाएँ हैं।

$ ls /usr/share/nano
asm.nanorc     fortran.nanorc   man-html       ocaml.nanorc   ruby.nanorc
awk.nanorc     gentoo.nanorc    man.nanorc     patch.nanorc   sh.nanorc
cmake.nanorc   groff.nanorc     mgp.nanorc     perl.nanorc    tcl.nanorc
c.nanorc       html.nanorc      mutt.nanorc    php.nanorc     tex.nanorc
css.nanorc     java.nanorc      nanorc.nanorc  pov.nanorc     xml.nanorc
debian.nanorc  makefile.nanorc  objc.nanorc    python.nanorc

यह भी उल्लेख किया गया है, किसी भाषा के लिए हाइलाइटिंग को सक्षम करने के लिए, आप includeअपनी ~/.nanorcफ़ाइल में जिस भाषा की परिभाषा को सक्षम करना चाहते हैं, उसे जोड़ते हैं । इसलिए, उदाहरण के लिए, C / C ++ को सक्षम करने के लिए आप इस लाइन को जोड़ेंगे।

include /usr/share/nano/c.nanorc

findनिर्दिष्ट निर्देशिका के भीतर फाइल या निर्देशिका के लिए आदेश खोज करता है।

  • -inameझंडा यह बताता है केवल एक ऐसा नाम है के साथ समाप्त होता के साथ फ़ाइलों को देखने के लिए .nanorc
  • -execझंडे पाया प्रत्येक फ़ाइल पर अमल करने के लिए एक कमांड को परिभाषित करता है।
  • {}फ़ाइल नाम के साथ बदल जाता है।
  • \;कमांड को निष्पादित करने के लिए findकमांड के अंत को सूचित करने के लिए उपयोग किया जाता है ।
  • अंत में, >> ~/.nanorcआउटपुट को आपकी ~/.nanorcफ़ाइल में जोड़ा जाता है ।

महान टिप और स्पष्टीकरण, बहुत बहुत धन्यवाद आदमी! ;)
डेवोनकोड

धन्यवाद और आप iname ध्वज की जरूरत की तरह नहीं दिखता है। निम्नलिखित के रूप में अच्छी तरह से काम करने के लिए लगता है /usr/share/nano/*.nanorc
मिलिंद

बहुत बहुत धन्यवाद!
VIX

7

इसमें डिफ़ॉल्ट रूप से शामिल सभी सिंटैक्स हाइलाइटिंग प्लगइन्स शामिल होने चाहिए, और जो भी आप / usr / share / नैनो में जोड़ते हैं:

find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc

या, / etc / nanorc संपादित करें और देखें कि क्या आप इसमें शामिल कर सकते हैं।

यह काम करता है यदि आपके पास नैनो का एक संस्करण है जो वाइंडकार्ड को .nanorc फ़ाइल में स्वीकार करने से मना करता है।

हर बार जब आप अतिरिक्त .nanorc कलर कॉन्फिगर जोड़ते हैं, तो इस लाइन को चलाएं।



2

आप इसका उपयोग सभी को शामिल करने के लिए कर सकते हैं: (इसे ~ / nanorc फ़ाइल में जोड़ें)

include "/usr/share/nano/*.nanorc"

हैप्पी कोडिंग!


1
wget -r -nH --cut-dirs=3 --no-parent --reject="index.html*" https://nanosyntax.googlecode.com/svn/trunk/syntax-nanorc/ -P ~/.nano-syntax
for i in `ls --color=never -1 ~/.nano-syntax/*.nanorc` ; do echo "include $i" >> ~/.nanorc ; done

22
यह उपयोगी होगा यदि आप बता सकते हैं कि यह नए उपयोगकर्ताओं के लिए एक उपयोगी उत्तर क्यों है। कमांड क्या कर रहा है? यह क्या बदलता है? बेतरतीब ढंग से कमांड लाइन चलाने का सुझाव देना मददगार नहीं है।
केविन बोवेन

1

नैनो के लिए सबसे पूर्ण और नवीनतम सिंटैक्स hilighters को यहां बनाए रखा गया है

अपने उपयोगकर्ता के लिए सभी हाइलाइटर्स बस चलाने के लिए:

cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc

समाधान अच्छा है, लेकिन मैं इसके लिए एक अन्य फ़ोल्डर का उपयोग करूंगा git clone। सामग्री ओटीएफ /tmpफ़ोल्डर को हर सिस्टम स्टार्ट पर हटा दिया जाएगा और इसलिए आप कभी भी नहीं चल सकते git pull
एबी

आपका भाषा टैग गलत है। jsनहीं है bashया shell-scriptमैंने शब्द के पीछे लिंक रखा है here। समस्या कहाँ हे?
AB

1
@AB इससे कोई फर्क नहीं पड़ता कि वह फ़ोल्डर तब से चला गया है जब आप make installसभी सिंटैक्स फ़ाइलों को उस सुरक्षित स्थान पर कॉपी किया जाता है जहां वे हैं ~/.nano/syntax:।
पाब्लो ए

1

उन लोगों के लिए जो ऊपर दिए गए निर्देशों का पालन करने में परेशानी कर रहे हैं, यह भी जांचें कि क्या आपके पास डुप्लिकेट परिभाषाएं हैं । ये सभी फ़ाइलों के लिए सभी सिंटैक्स हाइलाइटिंग को अक्षम कर देंगे । मैं एक फ़ाइल जोड़ने के बाद इसमें भाग गया , और यह महसूस नहीं किया कि मेरा पहले से ही एक समान अनुभाग था, अर्थात:nanorc.nanorc~/.nanorc

## Here is an example for nanorc files.
##
syntax "nanorc" "\.?nanorc$"
## Possible errors and parameters
icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
## Keywords
icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|$
icolor green "^[[:space:]]*(set|unset|include|syntax)\>"
(...)

0

मुझे यहाँ js के लिए वाक्य रचना हाइलाइटिंग मिली ।

मैंने इसे अपनी उपयोगकर्ता फ़ाइल में जोड़ा ~/.nanorc

हालाँकि एक फ़ाइल प्राप्त करने के लिए जिसमें मैं संलग्न हो सकता था, मुझे पहले /usr/share/nano/nanorc.nanorcअपने स्थानीय फ़ोल्डर से कॉपी करना था ~/.nanorc


0

मैंने गलती से कीबोर्ड शॉर्टकट Alt+ का उपयोग करके हाइलाइटिंग को अक्षम कर दिया है Y। इसे फिर से उसी कीबोर्ड शॉर्टकट से चालू किया जा सकता है।


0

मुझे पता है कि यह एक पुराना धागा है, लेकिन मेरा समाधान मदद कर सकता है

/ etc / nanorc पर फ़ाइल संपादित करें

243 लाइन से आप बहुत सारी फाइलें शामिल कर सकते हैं। बस आप की जरूरत है, बचाओ और किया है।

## Nanorc files
include "/usr/share/nano/nanorc.nanorc"

## C/C++
include "/usr/share/nano/c.nanorc"

## Makefiles
include "/usr/share/nano/makefile.nanorc"

## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"

## Debian files
include "/usr/share/nano/debian.nanorc"

## Gentoo files
# include "/usr/share/nano/gentoo.nanorc"

मुझे यकीन नहीं है कि अगर आप नैनो को अपडेट करते हैं तो ये बदलाव गायब हो जाएंगे।


-1

मैंने सिर्फ नैनो में रंगों को जोड़ने के लिए इस स्क्रिप्ट को बनाया है: लेकिन निश्चित रूप से आपको इस काम के लिए / usr / share / नैनो में कलर कोड होना चाहिए। यदि त्रुटियां हैं: बस मैन्युअल रूप से ~ / .nanorc फ़ाइल को संपादित करें और त्रुटियों को देने वाली पंक्तियों को हटा दें।

#!/bin/bash

for i in `ls /usr/share/nano`
  do
    echo "include /usr/share/nano/$i" >> ~/.nanorc
  done

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