nano 如何确定.txt 文件的语法颜色?

nano 如何确定.txt 文件的语法颜色?

我最近发现,当我打开一个新文本文件(扩展名.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]>

Nano 与普通文件

相关内容