nano可以像gedit和vim一样突出显示语法吗?如何启用它?我至少需要bash和python语法突出显示。

评论

非常感谢git repo中的语法文件,我现在在所有服务器上都使用它...保持良好的工作状态!!!

@TheGene评论并感谢答案。回购被归功于他,而不是我,那个问问题的人。

#1 楼

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上存在的用户的纳米配置文件,并与此行类似:

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


现在,nano中为链接的任何文件启用了语法高亮显示(您也可以链接多个文件)编辑完segmentation fault文件后,请执行~/.nanorc。如果发生此类错误,则取消设置LANG环境变量会有所帮助。您可以在终端中用unset LANG取消设置。 (从这里获得的解决方案)

如果您对bash突出显示不满意,还有其他解决方案。您可以在此处找到这样的一个示例

如果您的nano版本支持,也可以将include /usr/share/nano/*写入〜/ .nanorc文件,以突出显示所有语言。

评论


这些行在/ etc / nanorc中没有注释-全局设置是否被〜/ .nanorc覆盖?如何禁用.nanorc?

– Oxwivi
2011年12月23日下午16:31

哦,等等,我什至没有〜/ .nanorc文件。

– Oxwivi
2011年12月23日下午16:33

等等,等等,即使我没有.nanorc,所有包含行的全局设置怎么也不能启用语法高亮显示?

– Oxwivi
2011-12-23 16:53

ls -1 /usr/share/nano/*.nanorc | sed的's / ^ \ // include \ //'>>〜/ .nanorc将它们全部添加到您的.nanorc文件中,或者如果不存在则创建它。

–汤姆·波特(Thom Porter)
16年2月8日,0:10

包括/ usr / share / nano / *不起作用

–贾里克(Jarek Jakubowski)
16年5月16日在8:23

#2 楼

是的,您可以,但是默认语法定义非常差且不完整。对于那些认为它们有用的人,我在这里维护一组更准确的定义。
要安装,请运行:
git clone https://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描述了所有尚未分类文件的功能。这些是您入门所需的工具,而不是最终抛光的产品。

评论


感谢您在GitHub中保留这些漂亮的语法定义。

– Rubens Mariuzzo
2012年11月13日在2:43

我的* .js文件不起作用...根据FAQgithub.com/nanorc/…编辑了/ etc / nanorc以删除任何其他语法。 ♥纳米♥nanorc

–卡尔顿
2014年8月6日12:27



我刚刚在Mac OSX上安装了语法定义。我只需要注意一件事,那就是python中开括号的黑色在终端的黑色背景下丢失了

–汤姆·比斯比(Tom Busby)
2014年8月27日14:25

实际上存在问题,某些彩色文本为黑色!如果我们的终端背景为黑色,则这些单词是不可见的!

–杜克文
2014年12月8日,3:20

您的链接无效

–not2qubit
18-10-17在7:45

#3 楼

我使用此命令快速启用了所有可用的语言。

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文件。


评论


很好的提示和解释,非常感谢! ;)

–daveoncode
16年5月14日在17:02

谢谢,看起来您不需要iname标志。以下似乎也可以找到/usr/share/nano/*.nanorc

–Milind
19年2月17日在0:06

非常感谢!

– VIX
19/09/21在21:27

#4 楼

这应该包括默认情况下包括的所有语法突出显示插件,以及您添加到/ usr / share / nano的所有插件:

如果您可以取消注释includes。

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

每次您都运行此行添加其他.nanorc颜色配置。

#5 楼

我在github上有一些nano语法高亮显示。

有html和php的实时示例屏幕截图:


#6 楼

您可以使用它来包含所有内容:(将此添加到〜/ nanorc文件中)

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


快乐编码!

评论


这不起作用:(

– Artanis Zeratul
20-04-23在5:19

#7 楼

我想我可能会建议到2020年左右更新鲜和最新的东西:
Scopatz在Git上的nanorc可以满足您的所有需求。它仍然会定期进行更新。
并附带了一个简洁的安装指南和有据可查的安装程序,可让您快速,清洁,轻松地进行操作。 nanorc文件中的荧光笔或将其注释掉(etc-host,html和html.j2),因为它们似乎有问题,但没什么大不了的

#8 楼

此处维护了nano的最完整和最新的语法提示器。

要为您的用户安装所有荧光笔,只需运行: -override“> 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文件夹中的otf内容将在每次系统启动时删除,因此您永远无法运行git pull。

– A.B.
15年7月30日在8:00

您的语言标签有误。 js不是bash或shell脚本,我将链接放在此处。问题出在哪儿?

– A.B.
15年7月30日在8:19

@ A.B。该文件夹是否消失并不重要,因为在您进行安装时,所有语法文件都将复制到它们所属的安全位置:〜/ .nano / syntax。

–巴勃罗·比安奇(Pablo Bianchi)
17-10-14在21:06

#9 楼

对于遵循上述说明后仍遇到问题的用户,还请检查是否有重复的定义。这些将禁用所有文件的所有语法突出显示。我在添加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)\>"
(...)


#10 楼

我不小心使用键盘快捷键Alt + Y禁用了突出显示。可以使用相同的键盘快捷键再次将其打开。

#11 楼

我知道这是一个旧线程,但也许我的解决方案可以帮助您在/ etc / nanorc

编辑该文件。在第243行中,您可以找到很多包含文件。只需取消注释您需要的,保存并完成的注释即可。

#12 楼

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


评论


如果您可以解释为什么这对新用户有用的答案将很有帮助。命令在做什么?它会发生什么变化?随机建议运行命令行没有帮助。

–凯文·鲍恩(Kevin Bowen)
13年6月28日在3:10

#13 楼

我在这里找到了js的语法高亮。将~/.nanorc首先以/usr/share/nano/nanorc.nanorc的形式发送到我的本地文件夹。

#14 楼

我只是编写了此脚本,以便将颜色添加到nano: 〜/ .nanorc文件,并删除出现错误的行。

#!/bin/bash

for i in `ls /usr/share/nano`
  do
    echo "include /usr/share/nano/$i" >> ~/.nanorc
  done


评论


与askubuntu.com/a/865425/158442和askubuntu.com/a/538674/158442几乎相同

–muru
18年4月11日,0:58