如何为没有扩展名的文件设置纳米默认语法突出显示?

AJB*_*AJB 5 nano syntax-highlighting 12.04

当我编辑没有扩展名的文件时,我试图为 nano 设置一个“默认”语法突出显示方案,例如/etc/nginx/sites-available/defaultor/etc/ssh/sshd_config但我似乎无法让它工作。

我已将c语法突出显示文件复制到我的文件中/usr/share/nano/default.nanorc,然后添加include "/usr/share/nano/deafult.nanorc"到我的~/.nanorc文件中,但我仍然没有突出显示没有扩展名的文件。

有谁知道如何启用此功能?

Nic*_*Tux 8

你可以自己定义这个。这是来自 Arch Linux 论坛的一个很好的例子。

复制以下代码并保存在/usr/share/nano/中作为conf.nanorc

# config file highlighting

syntax "conf" "(\.(conf|config|cfg|cnf|rc|lst|list|defs|ini|desktop|mime|types|preset|cache|seat|service|htaccess)$|(^|/)(\w*crontab|mirrorlist|group|hosts|passwd|rpc|netconfig|shadow|fstab|inittab|inputrc|protocols|sudoers)$|conf.d/|.config/)"

# default text
color magenta "^.*$"
# special values
icolor brightblue "(^|\s|=)(default|true|false|on|off|yes|no)(\s|$)"
# keys
icolor cyan "^\s*(set\s+)?[A-Z0-9_\/\.\%\@+-]+\s*([:]|\>)"
# commands
color blue "^\s*set\s+\<"
# punctuation
color blue "[.]"
# numbers
color red "(^|\s|[[/:|<>(){}=,]|\])[-+]?[0-9](\.?[0-9])*%?($|\>)"
# keys
icolor cyan "^\s*(\$if )?([A-Z0-9_\/\.\%\@+-]|\s)+="
# punctuation
color blue "/"
color brightwhite "(\]|[()<>[{},;:=])"
color brightwhite "(^|\[|\{|\:)\s*-(\s|$)"
# section headings
icolor brightyellow "^\s*(\[([A-Z0-9_\.-]|\s)+\])+\s*$"
color brightcyan "^\s*((Sub)?Section\s*(=|\>)|End(Sub)?Section\s*$)"
color brightcyan "^\s*\$(end)?if(\s|$)"
# URLs
icolor green "\b(([A-Z]+://|www[.])[A-Z0-9/:#?&$=_\.\-]+)(\b|$| )"
# XML-like tags
icolor brightcyan "</?\w+((\s*\w+\s*=)?\s*("[^"]*"|'[^']*'|!?[A-Z0-9_:/]))*(\s*/)?>"
# strings
color yellow "\"(\\.|[^"])*\"" "'(\\.|[^'])*'"
# comments
color white "#.*$"
color blue "^\s*##.*$"
color white "^;.*$"
color white start="<!--" end="-->"
Run Code Online (Sandbox Code Playgroud)

然后将此配置包含在 /etc/nanorc 文件中

## Configuration files (catch-all syntax)
include "/usr/share/nano/conf.nanorc"
Run Code Online (Sandbox Code Playgroud)

片段中的第一行代码包含一个正则表达式,用于定义应使用此语法突出显示的文件名。每当您遇到与此不匹配的配置文件,但您仍希望使用语法突出显示打开它时,您可以使用 nano 的 -Y 开关手动选择此语法,如下所示:

nano -Y conf myConfigFile
Run Code Online (Sandbox Code Playgroud)

来源:nano 语法高亮:配置文件的全能语法