Nanoはgeditやvimなどの構文強調表示を実行できますか?どうすれば有効にできますか?少なくともbashとpython構文のハイライトが必要です。
Nanoエディターは、いくつかの言語とスクリプト自体の構文強調表示を提供します。 /usr/share/nano/
をご覧ください
nits@nits-excalibur:~$ ls /usr/share/nano/
asm.nanorc fortran.nanorc man.nanorc ocaml.nanorc Ruby.nanorc
awk.nanorc gentoo.nanorc mgp.nanorc patch.nanorc sh.nanorc
c.nanorc groff.nanorc mutt.nanorc Perl.nanorc tcl.nanorc
cmake.nanorc html.nanorc nano-menu.xpm php.nanorc tex.nanorc
css.nanorc Java.nanorc nanorc.nanorc pov.nanorc xml.nanorc
debian.nanorc makefile.nanorc objc.nanorc python.nanorc
~/.nanorc
にあるユーザーのnano設定ファイルに、次の行に似たものを使用してリンクします。
nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc
これで、リンクしたファイルの構文強調がnanoで有効になりました(複数のファイルをリンクすることもできます)
注:segmentation fault
ファイルを編集した後、~/.nanorc
を取得する場合があります。このようなエラーが発生した場合、LANG環境変数を設定解除すると役立ちます。端末でunset LANG
を使用して設定を解除できます。 ( ここ から得られた解決策)
Bashの強調表示に満足できない場合は、他の解決策もあります。そのような例の1つを見つけることができます here
また、include /usr/share/nano/*
を〜/ .nanorcファイルに書き込んで、nanoバージョンでサポートされている場合にすべての言語を強調表示することもできます。
はい、できますが、デフォルトの構文定義はかなり貧弱で不完全です。定義のより正確なセットを維持しています here 、それらが有用だと思う人のために。
インストールするには、次を実行します。
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
これらの行を〜/ .nanorcに追加します
include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc
色付けする色を指定すると、これらの色を好みに合わせて調整する必要があります。 ALL.nanorc
は、まだ分類されていないすべてのファイルの機能を説明します。これらは、最終的な洗練された製品ではなく、開始するために必要なツールです。
このコマンドを使用して、使用可能なすべての言語をすばやく有効にしました。
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
他の回答で述べたように、/usr/share/nano/
にはさまざまな言語の定義が含まれています。
$ ls /usr/share/nano
asm.nanorc fortran.nanorc man-html ocaml.nanorc Ruby.nanorc
awk.nanorc gentoo.nanorc man.nanorc patch.nanorc sh.nanorc
cmake.nanorc groff.nanorc mgp.nanorc Perl.nanorc tcl.nanorc
c.nanorc html.nanorc mutt.nanorc php.nanorc tex.nanorc
css.nanorc Java.nanorc nanorc.nanorc pov.nanorc xml.nanorc
debian.nanorc makefile.nanorc objc.nanorc python.nanorc
また、言語の強調表示を有効にするには、include
と、有効にする言語定義へのパスを~/.nanorc
ファイルに追加します。したがって、たとえば、C/C++を有効にするには、この行を追加します。
include /usr/share/nano/c.nanorc
find
コマンドは、指定されたディレクトリ内でファイルまたはディレクトリを検索します。
-iname
フラグは、.nanorc
で終わる名前のファイルのみを検索するように指示します。-exec
フラグは、見つかった各ファイルで実行するコマンドを定義します。{}
はファイル名に置き換えられます。\;
は、find
コマンドに対して実行するコマンドの終了を示すために使用されます。>> ~/.nanorc
により、出力が~/.nanorc
ファイルに追加されます。これには、デフォルトで含まれるすべての構文強調プラグインと、/ usr/share/nanoに追加したものが含まれます。
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
または、/ etc/nanorcを編集して、インクルードのコメントを解除できるかどうかを確認します。
これは、.nanorcファイルでワイルドカードの使用を拒否するnanoのバージョンがある場合に機能します。
追加の.nanorcカラー設定を追加するたびに、この行を実行するだけです。
これを使用してすべてを含めることができます:(これを〜/ nanorcファイルに追加します)
include "/usr/share/nano/*.nanorc"
ハッピーコーディング!
Nanoの最も完全で最新の構文ハイライトが維持されます ここ 。
ユーザーのすべての蛍光ペンをインストールするには、次を実行します。
cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc
wget -r -nH --cut-dirs=3 --no-parent --reject="index.html*" https://nanosyntax.googlecode.com/svn/trunk/syntax-nanorc/ -P ~/.nano-syntax
for i in `ls --color=never -1 ~/.nano-syntax/*.nanorc` ; do echo "include $i" >> ~/.nanorc ; done
上記の手順を実行しても問題が発生する場合は、重複定義があるかどうかも確認してください。これらは、すべてのファイルに対するすべての構文強調表示を無効にします。 nanorc.nanorc
ファイルを追加した後、私の~/.nanorc
に同じセクションが既にあることに気づかずにこれに遭遇しました。
## Here is an example for nanorc files.
##
syntax "nanorc" "\.?nanorc$"
## Possible errors and parameters
icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
## Keywords
icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|$
icolor green "^[[:space:]]*(set|unset|include|syntax)\>"
(...)
Js here の構文強調表示が見つかりました。
~/.nanorc
のユーザーファイルに追加しました
ただし、追加できるファイルを取得するには、最初に/usr/share/nano/nanorc.nanorc
からローカルフォルダーに~/.nanorc
としてコピーする必要がありました。
キーボードショートカットを使用してハイライトを誤って無効にした Alt+Y。同じキーボードショートカットで再びオンにできます。
私はそれが古いスレッドであることを知っていますが、私の解決策が役立つかもしれません
/ etc/nanorcのファイルを編集します
243行目から、多くのインクルードファイルを見つけることができます。必要なもののコメントを外し、保存して完了します。
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## Makefiles
include "/usr/share/nano/makefile.nanorc"
## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"
## Debian files
include "/usr/share/nano/debian.nanorc"
## Gentoo files
# include "/usr/share/nano/gentoo.nanorc"
Nanoを更新しても、これらの変更が消えるかどうかはわかりません。