Чи може нано робити виділення синтаксису, як gedit та vim? Як я можу це ввімкнути? Мені потрібні хоча б основні моменти синтаксису bash та python.
Чи може нано робити виділення синтаксису, як gedit та vim? Як я можу це ввімкнути? Мені потрібні хоча б основні моменти синтаксису bash та python.
Відповіді:
Наноредактор забезпечує виділення синтаксису для кількох мов та сценаріїв сам по собі. Перевірити/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, щоб дозволити виділення всіх мов, якщо ваша нано-версія підтримує його.
/etc/nanorc
- чи замінюються глобальні параметри ~/.nanorc
? Як відключити .nanorc
?
~/.nanorc
файлу.
include
рядки не дозволяють виділити синтаксис, навіть якщо я цього не зробив .nanorc
?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
додайте їх до файлу .nanorc або створіть його, якщо його не існує.
include /usr/share/nano/*
не працює
Так, ви можете, проте визначення синтаксису за замовчуванням є досить бідними та неповними. Я підтримувати більш точний набір визначень тут , для тих , хто вважає їх корисними.
Щоб встановити, запустіть:
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
Описує функції для всіх ще несекретних файлів. Це інструменти, необхідні для початку, а не кінцевий відшліфований продукт.
Я використовував цю команду для швидкого включення всіх доступних мов.
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
файлу.Сюди слід включити всі плагіни підсвічування синтаксису, включені за замовчуванням, і будь-які додані вами / usr / share / nano:
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
Або відредагуйте / etc / nanorc і подивіться, чи можете ви відміняти коментарі.
Це спрацьовує, якщо у вас є версія nano, яка відмовляється приймати підстановку у файлі .nanorc.
Просто запустіть цей рядок щоразу, коли ви додасте додаткову конфігурацію кольору .nanorc.
Ви можете використовувати це для включення всіх: (додайте це до ~ / nanorc файл)
include "/usr/share/nano/*.nanorc"
Щасливого кодування!
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
Найбільш повно і до дати синтаксичних 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
. Де проблема?
make install
все синтаксичні файли копіюються в безпечне місце , де вони належать: ~/.nano/syntax
.
Для тих, у кого виникають проблеми після додержання вищезазначених інструкцій, також перевірте, чи є у вас повторювані визначення . Вони відключать усі підсвічування синтаксису для всіх файлів . Я наткнувся на це після додавання 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)\>"
(...)
Я знайшов підсвічування синтаксису для JS тут .
Я додав його до свого файлу користувача в ~/.nanorc
Однак, щоб отримати файл, до якого я міг додати, мені довелося спочатку скопіювати його /usr/share/nano/nanorc.nanorc
в локальну папку ~/.nanorc
.
Я випадково відключив підсвічування за допомогою комбінації клавіш Alt+ Y. Його можна знову ввімкнути за допомогою тієї самої комбінації клавіш.
Я знаю, що це стара нитка, але, можливо, моє рішення допоможе
відредагуйте файл у / 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"
Я не впевнений, якщо ви оновите нано, ці зміни зникнуть.
Я щойно створив цей сценарій, щоб додати кольори до нано: Але, звичайно, вам потрібно мати кольорові коди в / usr / share / nano, щоб це працювало. Якщо є помилки: просто вручну відредагуйте файл ~ / .nanorc і видаліть рядки, які видають помилки.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done