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
文件的语法着色?
谢谢,
干杯!
我刚遇到同样的问题,我在包含中找到了错误.令人惊讶的是,事实证明更改包含顺序解决了问题:
这有效:
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中运行良好)