服务器上的Nano忽略了某些语法着色

sda*_*aau 4 syntax-highlighting nano

nano通过ssh在服务器上使用; 在该系统上,nano默认情况下没有启用语法颜色.所以我在服务器上复制了这些nanosyntax文件(另请参阅@CraigBarnes的答案),并设置~/.nanorc为:

include "~/nanosyntax/syntax-nanorc/php.nanorc"
include "~/nanosyntax/syntax-nanorc/php2.nanorc"
include "~/nanosyntax/syntax-nanorc/sh.nanorc"
include "~/nanosyntax/syntax-nanorc/python.nanorc"
include "~/nanosyntax/syntax-nanorc/html.nanorc"
include "~/nanosyntax/syntax-nanorc/perl.nanorc"
include "~/nanosyntax/syntax-nanorc/ruby.nanorc"
include "~/nanosyntax/syntax-nanorc/js.nanorc"
Run Code Online (Sandbox Code Playgroud)

现在,这就是事情; 如果我只是打电话:

nano somefile.php
Run Code Online (Sandbox Code Playgroud)

...没有php语法着色.如果我试图强迫:

nano --syntax=php somefile.php
Run Code Online (Sandbox Code Playgroud)

...仍然没有语法着色(显示为纯文本).但是,如果我这样做:

nano ~/.nanorc
Run Code Online (Sandbox Code Playgroud)

...然后我得到语法着色(对应.nanorc类型的文件)?!

很明显,语法着色就像这样工作(即shell和nano能够做到的) - 除了,它似乎被忽略了一些语言,比如在这种情况下php?!

那么,有没有人知道发生了什么 - 我怎样才能获得php文件的语法着色?

谢谢,
干杯!

use*_*621 6

我刚遇到同样的问题,我在包含中找到了错误.令人惊讶的是,事实证明更改包含顺序解决了问题:

这有效:

include "~/.nano/nanorc.nanorc"
include "~/.nano/sh.nanorc"
# more includes...
Run Code Online (Sandbox Code Playgroud)

这无法突出显示sh文件:

include "~/.nano/sh.nanorc"
include "~/.nano/nanorc.nanorc"
# more includes...
Run Code Online (Sandbox Code Playgroud)

所以我猜这可能是一个bug(在nano 2.2.2中;在nano 2.1.7中运行良好)