Frage Wie lege ich die Nano-Standard-Syntax-Hervorhebung für Dateien ohne Erweiterung fest?


Ich versuche ein "Standard" -Syntax-Hervorhebungsschema für nano festzulegen, wenn ich Dateien ohne Erweiterung wie z /etc/nginx/sites-available/default oder /etc/ssh/sshd_config aber ich kann es nicht funktionieren lassen.

Ich habe das kopiert c Syntax-Highlighting-Datei in /usr/share/nano/default.nanorc und dann hinzugefügt include "/usr/share/nano/deafult.nanorc" zu meinem ~/.nanorc Datei, aber ich bekomme immer noch keine Hervorhebung für Dateien ohne Erweiterung.

Wer weiß, wie man das ermöglicht?


2
2018-02-04 02:24


Ursprung


Nicht ein Betrogener. Ich folgte den Anweisungen in der verknüpften Frage, um die Syntaxhervorhebung für mehrere beliebte Erweiterungen zu erhalten. Aber ich versuche, die Arbeit mit Dateien hervorzuheben Nein Erweiterung. - AJB


Antworten:


Sie können dies selbst definieren. Hier ist ein gutes Beispiel von Arch Linux Forums.

Kopieren Sie den folgenden Code und speichern Sie ihn in / usr / teilen / nano / wie 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="-->"

Fügen Sie diese Konfiguration dann in die Datei / etc / nanorc ein

## Configuration files (catch-all syntax)
include "/usr/share/nano/conf.nanorc"

Die erste Codezeile im Snippet enthält einen regulären Ausdruck   definiert, für welche Dateinamen diese Syntaxhervorhebung verwendet werden soll.   Immer wenn Sie auf eine Konfigurationsdatei stoßen, die nicht mit dieser übereinstimmt, aber   Sie möchten es immer noch mit Syntax-Highlighting öffnen, Sie können   Wählen Sie diese Syntax manuell mit dem Schalter -Y von nano, wie folgt:

nano -Y conf myConfigFile

6
2018-02-05 02:07





Die Nanorc-Datei sollte haben

syntax "default"

ohne regexp danach.


1
2018-02-13 09:59



Ich fand diese Antwort nachschlagen, wie man eine "Standard" -Syntax-Hervorhebung-Konfiguration setzt. Es klappt. - Gregory Nisbet