nanoでシンタックスハイライトを有効にするにはどうすればいいですか?

nanoでgeditやvimのようなシンタックスハイライトができますか?どうすれば有効になりますか?最低でもbashとpythonのシンタックスハイライトが必要です。

ソリューション

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で有効になります(複数のファイルをリンクすることもできます)。

.

注意:~/.nanorcファイルを編集した後に、segmentation faultが発生することがあります。このようなエラーが発生した場合は、環境変数 LANG の設定を解除すると解決します。ターミナルの unset LANG で解除できます。(解決策はこちらから得ました)

また、bashのハイライト表示に満足できない場合、他の解決策もあります。その一例が ここにあります。

また、~/.nanorcファイルにinclude /usr/share/nano/*と書いておけば、お使いのnanoのバージョンが対応していれば、すべての言語がハイライトされるようになります。

解説 (16)

しかし、デフォルトの構文定義は非常に貧弱で不完全なものとなっています。私は、より正確な定義をここで管理していますので、お役立てください。

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

git clone github.com/scopatz/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`は、まだ分類されていないすべてのファイルに対する機能を記述しています。 これらはスタートするために必要なツールであり、最終的に洗練された製品ではありません。

解説 (10)
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)