如何在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

将它们链接到用户的nano配置文件中,该文件位于~/.nanorc,与这一行类似。

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

现在,无论你链接的是什么文件,语法高亮都会在nano中启用(你也可以链接多个文件)。

注意:有时你在编辑了~/.nanorc文件后,可能会出现 "分割错误"。如果发生这样的错误,取消设置LANG环境变量会有帮助。你可以在终端用unset LANG来取消设置。(解决方案从[这里]获得(http://ubuntuforums.org/showpost.php?p=10585542&postcount=3))

如果你对你的bash高亮显示不满意,也有其他的解决方案。这方面的一个例子是here

你也可以在~/.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)