it-swarm-eu.dev

Jak povolím zvýrazňování syntaxe v nano?

Může nano zvýrazňovat syntaxi jako gedit a vim? Jak to mohu povolit? Potřebuji alespoň bash a python zvýraznění syntaxe).

193
Oxwivi

Editor nano poskytuje zvýraznění syntaxe pro několik jazyků a skriptů samotných. Překontrolovat /usr/share/nano/

[email protected]:~$ 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

Propojte je s nano konfiguračním souborem uživatele, který je k dispozici na ~/.nanorc s něčím podobným této linii:

[email protected]:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc

Nyní je zvýraznění syntaxe v nano povoleno pro jakýkoli soubor, který jste propojili (můžete také propojit více souborů)

screenshot of syntax highlighting

Poznámka: Někdy můžete získat segmentation fault poté, co jste upravili své ~/.nanorc soubor. Pokud k takové chybě dojde, pomůže nastavení proměnné prostředí [~ # ~] lang [~ # ~] . Můžete jej zrušit pomocí unset LANG v terminálu. (Řešení získané z zde )

Existují také jiná řešení, pokud nejste spokojeni se zvýrazněním bash. Jeden takový příklad lze najít zde

Můžete také napsat include /usr/share/nano/* do souboru ~/.nanorc, aby bylo možné zvýraznit všechny jazyky, pokud to vaše nano verze podporuje.

185
Nitin Venkatesh

Ano, můžete, ale výchozí definice syntaxe jsou dost špatné a neúplné. Udržuji přesnější sadu definic zde , pro každého, kdo je považuje za užitečný.

Chcete-li nainstalovat, spusťte:

git clone github.com/scopatz/nanorc.git
cd nanorc
make install

Přidejte tyto řádky do ~/.nanorc

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

Určete ty, pro které chcete zbarvení, a budete je muset vyladit podle svých preferencí. The ALL.nanorc popisuje funkce všech dosud nezařazených souborů. To jsou nástroje, které potřebujete, abyste mohli začít, nikoli konečný leštěný produkt.

76
Craig Barnes

Tento příkaz jsem použil k rychlému povolení všech dostupných jazyků.

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

Jak je uvedeno v jiných odpovědích, /usr/share/nano/ Obsahuje definice pro různé jazyky.

$ 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

Také bylo zmíněno, že pro zvýraznění jazyka přidáte include a cestu k definici jazyka, kterou chcete povolit, do vašeho souboru ~/.nanorc. Například pro povolení C/C++ byste přidali tento řádek.

include /usr/share/nano/c.nanorc

Příkaz find hledá soubory nebo adresáře v zadaném adresáři.

  • Příznak -iname Říká, že má hledat pouze soubory se jménem, ​​které končí .nanorc.
  • Příznaky -exec Definují příkaz, který se má provést na každém nalezeném souboru.
  • {} Bude nahrazen názvem souboru.
  • \; Se používá k označení konce příkazu k provedení příkazu find.
  • Nakonec >> ~/.nanorc Způsobí, že výstup bude připojen k vašemu souboru ~/.nanorc.
56
Drew Chapin

To by mělo zahrnovat všechny pluginy pro zvýraznění syntaxe, které jsou ve výchozím nastavení zahrnuty, a všechny, které přidáte do/usr/share/nano:

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

Nebo upravte/etc/nanorc a podívejte se, zda můžete zrušit zrušení zahrnutí.

To funguje, pokud máte verzi nano, která odmítá přijímat zástupné znaky v souboru .nanorc.

Tento řádek spusťte pokaždé, když přidáte další konfigurační soubor .nanorc.

8
NotoriousPyro

Mám zvýraznění nano syntaxe na můj github .

Existují živé ukázky screenshotů pro html a php:

enter image description here

a

enter image description here

3
Eric Leschinski

Myslel jsem, že od roku 2020 bych mohl navrhnout něco čerstvějšího a aktuálnějšího:

Scopatzovo nanorc na Gitu má vše, co potřebujete. je stále pravidelně aktualizován.

a je dodáván s pěkným elegantním průvodcem instalací a dokumentovaným instalačním programem, který vám umožní rychle a čistě a rychle začít pracovat.

Poznámka: Možná budete muset některé ze zvýrazňovačů ze souboru nanorc vypustit nebo je komentovat (etc-Host, html a html.j2), protože se zdají být vadné, ale žádný velký problém

2
Mehdi LAMRANI

Můžete použít pro zahrnutí všech: (přidejte toto do souboru ~/nanorc)

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

Šťastný kódování!

2
Norbert Mezei

Nejúplnější a nejaktuálnější syntaxové hilightery pro nano jsou zachovány zde .

Chcete-li nainstalovat všechny zvýrazňovače pro uživatele, stačí spustit:

cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc
1
Raveren
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
1
user170859

Nechtěně jsem deaktivoval zvýraznění pomocí klávesové zkratky Alt+Y. Lze jej znovu zapnout pomocí stejné klávesové zkratky.

1
Thomas Weller

Vím, že se jedná o staré vlákno, ale může mé řešení pomoci

upravte soubor na/etc/nanorc

Z řádku 243 najdete mnoho zahrnutých souborů. Jednoduše uvolněte ty, které potřebujete, uložte a udělejte.

## 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"

Nejsem si jistý, zda aktualizujete nano, že tyto změny zmizí.

U těch, kteří mají potíže po provedení výše uvedených pokynů, zkontrolujte také, zda máte duplicitní definice. Tím zakážete všechny zvýraznění syntaxe pro všechny soubory . Do toho jsem narazil po přidání nanorc.nanorc file a neuvědomil si, že můj ~/.nanorc již měl stejnou sekci, tj .:

## 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)\>"
(...)
1
dmvianna

Našel jsem zvýraznění syntaxe pro js zde .

Připojil jsem jej do svého uživatelského souboru na ~/.nanorc

Abych však získal soubor, do kterého bych mohl připojit, musel jsem nejprve kopírovat z /usr/share/nano/nanorc.nanorc do mé místní složky nejprve jako ~/.nanorc.

0