拡張子のないファイルに対して nano のデフォルトの構文強調表示を設定するにはどうすればよいですか?

拡張子のないファイルに対して nano のデフォルトの構文強調表示を設定するにはどうすればよいですか?

/etc/nginx/sites-available/defaultまたはなどの拡張子のないファイルを編集するときに、nano の「デフォルト」構文強調表示スキームを設定しようとしています/etc/ssh/sshd_configが、うまくいかないようです。

c構文強調表示ファイルをコピーしてファイルに/usr/share/nano/default.nanorc追加しましたが、拡張子のないファイルの強調表示はまだ表示されません。include "/usr/share/nano/deafult.nanorc"~/.nanorc

これを有効にする方法を誰か知っていますか?

答え1

これを自分で定義することもできます。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="-->"

次に、この設定を/etc/nanorcファイルに次のように含めます。

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

スニペットの最初のコード行には、この構文の強調表示をどのファイル名に使用するかを定義する正規表現が含まれています。これに一致しない設定ファイルに遭遇したが、それでも構文の強調表示を使用して開きたい場合は、次のように nano の -Y スイッチを使用してこの構文を手動で選択できます。

nano -Y conf myConfigFile

ソース:nano 構文の強調表示: 設定ファイルの包括的な構文

答え2

nanorcファイルには

syntax "default"

その後に正規表現はありません。

答え3

Nano構文は、およびを含むすべてのファイルを強調表示します。それなし拡大:

デフォルトファイルからバックアップを作成する

yes | cp /usr/share/nano/default.nanorc /usr/share/nano/default.nanorc.backup

設定ファイルからコピーを作成する

yes | cp /usr/share/nano/sh.nanorc /usr/share/nano/default.nanorc

構文拡張名をデフォルトに変更

sed -i -e 's/syntax "sh" "\\.sh$"/syntax "default"/g' /usr/share/nano/default.nanorc

すべての.nanrcファイルをインクルードファイルに保存する

ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc

関連情報