web-dev-qa-db-ja.com

.nanorcを正しくソースできません:コマンド "include"が見つかりません

Nanoを自分のニーズに合わせてカスタマイズしようとしています。nanorcをホームディレクトリの/ etcディレクトリからコピーし、今まで何も編集していません。

私の目標は、.bashrcなどの構成ファイルの構文強調表示を有効にすることです。 file.pyなどのファイルに拡張子を割り当てると、構文の強調表示は既に機能しますが、nano configfile --syntax=shと明示的に入力しない限り、通常はコメントとオプションでいっぱいの構成ファイルでは機能しません。このフラグをデフォルトで有効にしたいと思います。

Nanorcファイルを見ると、include /usr/share/nano/*.nanorcというステートメントに気付きました。 source .nanorcでファイルをソースすると、次のエラーが表示されます。

.nanorc:236: command not found: include

なぜこれが起こっているのですか、どうすれば修正できますか?ありがとう!

1
mickkk

問題の解決策を見つけました!

構文の強調表示を実行するために、nanoは/ usr/share/nanoディレクトリにある(Ubuntu 16.04にある)設定ファイルのセットを使用します。たとえば、シェルスクリプト(sh.nanorc)、Pythonスクリプト(python.nanorc)などの構文強調表示に関連するファイルがあります。

使用される構文強調ルールは、各ファイルで指定されたパターン一致基準に基づいて決定されます。 Pythonファイルは、たとえば.py拡張子に基づいて照合されます。

ファイルの特性(拡張子、インタープリター行など)が一致しない場合、nanoはデフォルトファイル「default.nanorc」を使用します。

つまり、〜/ .bashrcなどの一般的なテキストファイルを開くと、ファイル "default.nanorc"に含まれる正規表現ルールを使用して構文の強調表示が実行されます。必要なルールに従ってこのファイルを編集し、保存します。次回nanoを開くと、変更はすでに保存されており、効果的です。

ところで、対応する* .nanorcファイルを編集するだけで、他のすべての種類のファイルの構文強調表示、またはファイルと構文強調表示ルール間の一致基準を編集できます。

3
mickkk