Czy nano może wyróżniać składnie, takie jak gedit i vim? Jak mogę to włączyć? Potrzebuję przynajmniej skrótów składni bash i python.
Czy nano może wyróżniać składnie, takie jak gedit i vim? Jak mogę to włączyć? Potrzebuję przynajmniej skrótów składni bash i python.
Odpowiedzi:
Nano edytor sam z siebie wyróżnia składnię kilku języków i skryptów. Sprawdzić/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
Połącz je z plikiem nano konfiguracji użytkownika, który znajduje się na stronie, ~/.nanorc
czymś podobnym do tej linii:
nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc
Teraz podświetlanie składni jest włączone w nano dla każdego pliku, który łączysz (możesz również połączyć wiele plików)
Uwaga: Czasami może pojawić się segmentation fault
po edycji ~/.nanorc
pliku. Jeśli wystąpi taki błąd, rozbrajanie zmiennej środowiskowej LANG pomaga. Możesz go rozbroić unset LANG
w terminalu. (Rozwiązanie uzyskane tutaj )
Istnieją również inne rozwiązania, jeśli nie jesteś zadowolony z podświetlenia bash. Jeden przykład takiego można znaleźć tutaj
Możesz również napisać include /usr/share/nano/*
do pliku ~ / .nanorc, aby umożliwić wyróżnienie wszystkich języków, jeśli obsługuje go Twoja wersja nano.
/etc/nanorc
- czy ustawienia globalne są zastępowane ~/.nanorc
? Jak mogę wyłączyć .nanorc
?
~/.nanorc
pliku.
include
wierszami nie włącza podświetlania składni, mimo że nie mam .nanorc
?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
dołącz je wszystkie do pliku .nanorc lub utwórz go, jeśli nie istnieje.
include /usr/share/nano/*
nie działa
Tak, jednak domyślne definicje składni są dość słabe i niepełne. Ja zachowaniu bardziej dokładny zestaw definicji tutaj dla każdego, kto znajdzie je użytecznymi.
Aby zainstalować, uruchom:
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
Dodaj te linie do ~ / .nanorc
include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc
Wybierz te, dla których chcesz mieć kolorowanie, a będziesz musiał dostosować te kolory do swoich preferencji. ALL.nanorc
Opisuje możliwości dla wszystkich plików jeszcze niesklasyfikowanych. Są to narzędzia, których potrzebujesz, aby rozpocząć, a nie końcowy produkt dopracowany.
Użyłem tego polecenia, aby szybko włączyć wszystkie dostępne języki.
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Jak wspomniano w innych odpowiedziach, /usr/share/nano/
zawiera definicje różnych języków.
$ 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
Wspomniano również, aby włączyć wyróżnianie dla języka, dodajesz include
i ścieżkę do definicji języka, którą chcesz włączyć do swojego ~/.nanorc
pliku. Na przykład, aby włączyć C / C ++, należy dodać tę linię.
include /usr/share/nano/c.nanorc
Do find
wyszukiwania poleceń dla plików lub katalogów w określonym katalogu.
-iname
Flaga informuje go tylko poszukać plików z nazwą, która kończy się .nanorc
.-exec
flagi określa polecenie do wykonania na każdym pliku znaleziony.{}
zastąpiony nazwą pliku.\;
służy do oznaczenia końca polecenia wykonania find
polecenia.>> ~/.nanorc
powoduje dołączenie danych wyjściowych do ~/.nanorc
pliku.Powinno to obejmować wszystkie wtyczki podświetlania składni zawarte domyślnie oraz wszystkie dodane do / usr / share / nano:
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
Lub edytuj plik / etc / nanorc i sprawdź, czy możesz odkomentować dołączenia.
Działa to, jeśli masz wersję nano, która nie akceptuje symboli wieloznacznych w pliku .nanorc.
Po prostu uruchom tę linię za każdym razem, gdy dodasz dodatkową konfigurację kolorów .nanorc.
Mam trochę podświetlania składni nano w moim github .
Istnieją przykładowe zrzuty ekranu dla HTML i PHP:
i
Możesz użyć tego, aby uwzględnić wszystkie: (dodaj to do pliku ~ / nanorc)
include "/usr/share/nano/*.nanorc"
Miłego kodowania!
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
Najbardziej kompletne i hilighters termin składnia dla nano utrzymywane są tutaj .
Aby zainstalować wszystkie zakreślacze dla swojego użytkownika, po prostu uruchom:
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
. Zawartość /tmp
folderu będzie usuwana przy każdym uruchomieniu systemu, dlatego nigdy nie można było uruchomić git pull
.
js
nie jest bash
lub shell-script
umieściłem link za tym słowem here
. Gdzie jest problem?
make install
wszystkie pliki składniowe są kopiowane do bezpiecznym miejscu, do której należą: ~/.nano/syntax
.
Dla tych, którzy mają problemy po wykonaniu powyższych instrukcji, sprawdź również, czy masz zduplikowane definicje . Spowoduje to wyłączenie podświetlania składni dla wszystkich plików . Natknąłem się na to po dodaniu nanorc.nanorc
pliku i nie zdając sobie sprawy, że miałem ~/.nanorc
już identyczną sekcję, 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)\>"
(...)
Znalazłem podświetlanie składni dla js tutaj .
Dołączyłem go do mojego pliku użytkownika pod adresem ~/.nanorc
Jednak, aby uzyskać plik, do którego mógłbym dołączyć, musiałem najpierw skopiować z /usr/share/nano/nanorc.nanorc
mojego folderu lokalnego jako ~/.nanorc
.
Przypadkowo wyłączyłem podświetlanie za pomocą skrótu klawiaturowego Alt+ Y. Można go ponownie włączyć za pomocą tego samego skrótu klawiaturowego.
Wiem, że to stary wątek, ale może moje rozwiązanie może pomóc
edytuj plik w / etc / nanorc
Z linii 243 można znaleźć pliki zawierające wiele partii. Po prostu odkomentuj te, których potrzebujesz, zapisz i gotowe.
## 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"
Nie jestem pewien, czy jeśli zaktualizujesz nano, zmiany te znikną.
Właśnie napisałem ten skrypt, aby dodać kolory do nano: Ale oczywiście musisz mieć kody kolorów w / usr / share / nano, aby to zadziałało. Jeśli występują błędy: po prostu ręcznie edytuj plik ~ / .nanorc i usuń linie, które powodują błędy.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done