web-dev-qa-db-ja.com

nanoで構文強調表示を有効にするにはどうすればよいですか?

Nanoはgeditやvimなどの構文強調表示を実行できますか?どうすれば有効にできますか?少なくともbashとpython構文のハイライトが必要です。

182
Oxwivi

Nanoエディターは、いくつかの言語とスクリプト自体の構文強調表示を提供します。 /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にあるユーザーのnano設定ファイルに、次の行に似たものを使用してリンクします。

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

これで、リンクしたファイルの構文強調がnanoで有効になりました(複数のファイルをリンクすることもできます)

screenshot of syntax highlighting

注:segmentation faultファイルを編集した後、~/.nanorcを取得する場合があります。このようなエラーが発生した場合、LANG環境変数を設定解除すると役立ちます。端末でunset LANGを使用して設定を解除できます。 ( ここ から得られた解決策)

Bashの強調表示に満足できない場合は、他の解決策もあります。そのような例の1つを見つけることができます here

また、include /usr/share/nano/*を〜/ .nanorcファイルに書き込んで、nanoバージョンでサポートされている場合にすべての言語を強調表示することもできます。

173
Nitin Venkatesh

はい、できますが、デフォルトの構文定義はかなり貧弱で不完全です。定義のより正確なセットを維持しています here 、それらが有用だと思う人のために。

インストールするには、次を実行します。

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は、まだ分類されていないすべてのファイルの機能を説明します。これらは、最終的な洗練された製品ではなく、開始するために必要なツールです。

74
Craig Barnes

このコマンドを使用して、使用可能なすべての言語をすばやく有効にしました。

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ファイルに追加されます。
49
Drew Chapin

これには、デフォルトで含まれるすべての構文強調プラグインと、/ usr/share/nanoに追加したものが含まれます。

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

または、/ etc/nanorcを編集して、インクルードのコメントを解除できるかどうかを確認します。

これは、.nanorcファイルでワイルドカードの使用を拒否するnanoのバージョンがある場合に機能します。

追加の.nanorcカラー設定を追加するたびに、この行を実行するだけです。

7
NotoriousPyro

my githubでナノ構文の強調表示があります

Htmlおよびphpのスクリーンショットのライブ例があります。

enter image description here

そして

enter image description here

2
Eric Leschinski

これを使用してすべてを含めることができます:(これを〜/ nanorcファイルに追加します)

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

ハッピーコーディング!

2
Norbert Mezei

Nanoの最も完全で最新の構文ハイライトが維持されます ここ

ユーザーのすべての蛍光ペンをインストールするには、次を実行します。

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

上記の手順を実行しても問題が発生する場合は、重複定義があるかどうかも確認してください。これらは、すべてのファイルに対するすべての構文強調表示を無効にします。 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)\>"
(...)
1
dmvianna

Js here の構文強調表示が見つかりました。

~/.nanorcのユーザーファイルに追加しました

ただし、追加できるファイルを取得するには、最初に/usr/share/nano/nanorc.nanorcからローカルフォルダーに~/.nanorcとしてコピーする必要がありました。

0

キーボードショートカットを使用してハイライトを誤って無効にした Alt+Y。同じキーボードショートカットで再びオンにできます。

0
Thomas Weller

私はそれが古いスレッドであることを知っていますが、私の解決策が役立つかもしれません

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

Nanoを更新しても、これらの変更が消えるかどうかはわかりません。