当前位置: 首页>>技术教程>>正文


如何在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中启用语法高亮显示您链接的任何文件(您也可以链接多个文件)

nano,syntax-highlighting,ubuntu

注意:在编辑~/.nanorc文件后,有时您可能会收到segmentation fault。如果发生这样的错误,则取消设置LANG环境变量会有所帮助。您可以在终端中用unset LANG取消它。 (从here获得的溶液)

如果您对bash突出显示不满意,还有其他解决方案。其中一个例子可以找到here

您还可以将include /usr/share/nano/*写入〜/.nanorc文件,以便在nano版本支持时突出显示所有语言。

次佳解决思路

是的你可以,但是默认的语法定义非常差和不完整。我保留一组更精确的定义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描述所有未分类文件的功能。这些是您需要开始使用的工具,而不是最终抛光的产品。

第三种解决思路

我使用这个命令来快速启用所有可用的语言。

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并查看是否可以取消注释包含。

如果您的.nanorc文件中有一个拒绝接受通配符的nano版本,则此方法有效。

每次添加额外的.nanorc颜色配置时,只需运行此行。

第五种思路

我在my github有一些nano语法突出显示。

有HTML和PHP的实时截图:

nano,syntax-highlighting,ubuntu

nano,syntax-highlighting,ubuntu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/344.html,未经允许,请勿转载。