我最近发现,当我打开一个新文本文件(扩展名.txt
)时nano
,语法颜色实际上受到限制:
也就是说,如果一行以数字符号/井号开头,则该行带有颜色。
我认为这很棒,我真的很喜欢这个(对于 txt 文件,我真的不需要任何其他语法颜色,但是一个标记注释,具有与 相同的注释语法bash
),所以我想知道它是如何/在哪里定义的。
根据如何为没有扩展名的文件设置 nano 默认语法高亮?,nano 的语法着色文件位于/usr/share/nano/
目录中,并通过文件“导入” /etc/nanorc
。
因此,我尝试检查:
$ grep -r txt /usr/share/nano/
/usr/share/nano/cmake.nanorc:syntax cmake "(CMakeLists\.txt|\.cmake)$"
... 但唯一的参考.txt
是来自cmake
,而且我并不认为这就是设置颜色的原因test.txt
。
那么,如何nano
确定文件的语法颜色test.txt
?
答案1
#
在目录中进行简单的 grep 搜索/usr/share/nano/
可得出以下重要结果:
$ grep -r "#" /usr/share/nano/ ... default.nanorc:color cyan "^[[:space:]]*#.*" ...
Ubuntu 20.04 LTS 上的完整文件如下:
$ cat /usr/share/nano/default.nanorc ## An example of a default syntax. The default syntax is used for ## files that do not match any other syntax. syntax default comment "#" # Comments. color cyan "^[[:space:]]*#.*" # Spaces in front of tabs. color ,red " + +" # Nano's name, including version. color brightred "(GNU )?[Nn]ano [1-4]\.[0-9][-.[:alnum:]]*\>" # Email addresses. color magenta "<[[:alnum:].%_+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,}>" # Bracketed captions in certain config files. color brightgreen "^\[[^][]+\]$"
因此,这是一些动态荧光笔在起作用。
接下来要检查触发器 - 输入GNU nano 4.8
以使其变为红色,输入电子邮件以使其变为洋红色。较新版本的 URL 为浅蓝色,依此类推。参见下图:<[email protected]>