4

私はnanossh経由でサーバー上で使用しています。そのシステムでnanoは、デフォルトで構文の色が有効になっていません。したがって、これらのナノ構文ファイルをサーバーにコピーし(代わりに、@CraigBarnesの回答も参照してください)、次のように設定し~/.nanorcました。

include "~/nanosyntax/syntax-nanorc/php.nanorc"
include "~/nanosyntax/syntax-nanorc/php2.nanorc"
include "~/nanosyntax/syntax-nanorc/sh.nanorc"
include "~/nanosyntax/syntax-nanorc/python.nanorc"
include "~/nanosyntax/syntax-nanorc/html.nanorc"
include "~/nanosyntax/syntax-nanorc/perl.nanorc"
include "~/nanosyntax/syntax-nanorc/ruby.nanorc"
include "~/nanosyntax/syntax-nanorc/js.nanorc"

さて、これが問題です。私がちょうど電話した場合:

nano somefile.php

...php構文の色付けは行われません。強制しようとすると:

nano --syntax=php somefile.php

... まだ構文の色付けはありません (プレーン テキストとして表示されます)。しかし、もしそうなら:

nano ~/.nanorc

...その後、構文の色付け (タイプファイルに対応) を取得します.nanorc?!

したがって、明らかに、構文の色付けはそのように機能します (つまり、 shell およびそれnanoが可能です) - ただし、この場合のように、一部の言語では無視されるようphpです?!

では、何が起こっているのか知っている人はいますか?また、phpファイルに対しても構文の色付けを行うにはどうすればよいですか?

ありがとう、
乾杯!

4

3 に答える 3

6

同じ問題に遭遇したばかりで、インクルードを少しいじってエラーを見つけました。驚くべきことに、包含順序を変更すると問題が解決したことがわかりました。

これは機能します:

include "~/.nano/nanorc.nanorc"
include "~/.nano/sh.nanorc"
# more includes...

これは sh ファイルの強調表示に失敗します:

include "~/.nano/sh.nanorc"
include "~/.nano/nanorc.nanorc"
# more includes...

おそらくバグだと思います(nano 2.2.2では、nano 2.1.7では正常に機能しました)

于 2011-07-11T08:19:13.030 に答える
1

Google Code のこれらの「nanosyntax」ファイルは、nano にデフォルトで付属しているファイルとほぼ同じくらい悪いものです。

nano の強調表示エンジンは、ネストされたコンテキスト (GtkSourceView など) を使用するものよりも基本的なものですが、安っぽい強調表示で我慢する必要はありません。

https://github.com/craigbarnes/nanorc

于 2012-06-19T18:41:10.540 に答える
1

うーん...ええと、私が使用していたサーバーがアップグレードされたようです。もともと、nanoデフォルトでは構文の色付けがありませんでした。そのため、独自の別の を使用しました~/.nanorc

ただし、アップグレードされたサーバーでnanoは、デフォルトで php 構文の色分けが機能する~/.nanorcようです。プライベートのすべてのエントリにコメントを付けたら~/.nanorc( を使用#)、php 構文のカラーリングが戻ってきたからです!!

誰がドンキットしますか?:)
乾杯!


編集:nanoに関するいくつかのメモを追加するだけです:

上記のように、構文の色付けは--syntaxswitch で強制されます。使用可能な構文を確認するには:

grep 'include' /etc/nanorc |       # find lines containing 'include' in nanorc
  grep -v '^#' |                   # don't process lines that start with '#'
    sed 's_.*/\(.*\)\.nanorc"_\1_' # extract plain filenames

このコマンドの結果は次のようになります。

nanorc
c
css
debian
gentoo
html
...

したがって、「nanorc」構文の色分けを強制するには、次を使用します。

nano --syntax=nanorc /usr/share/nano/nanorc.nanorc

..または「bash」シェルスクリプト構文の色付けを強制する(特に で便利bashrc)は次のようになります。

nano --syntax=sh ~/.bashrc
于 2011-01-20T15:40:33.060 に答える