構文強調機能を備えたcatの代替

構文強調機能を備えたcatの代替

cat同様のプログラムを探していますが、構文強調機能があります。たとえば、私たちが使用しているようなポケットベルを使用する代わりに、端末にPythonスクリプトの1つの内容を表示したいと思いますcat filename.py

答え1

batcat構文ハイライトやその他の機能の代替として使用できます。上からプレビューを見ることができます。GitHubページ。これはかなり新しいプログラムなので、お気に入りの配布リポジトリでは使用できない可能性があります。この場合、ソースからビルドするかパッケージをダウンロードする必要があります.deb

答え2

ユニバーサルシェーダーを試してみてください。http://kassiopeia.juls.savba.sk/~garabik/software/grc.html(またはより良い方法はreadmeファイルです。https://github.com/garabik/grc)。私はいくつかを見て、これは「ただ効果がありました」。独自の正規表現を使用してハイライトを調整できますが、基本的には非常にうまく機能することがわかりました。色分けしたい項目を選択するか、bash、zsh、または Fish で提供される自動エイリアスを使用できます。

答え3

あなたはそれを使用することができますsource-highlight。まず、source-highlightシステムに適したソフトウェアパッケージをインストールします(利用可能な場合)。 Debianベースのシステムでは、sudo apt install source-highlightArchでsudo pacman -S source-highlight

これで、次のことができます。

source-highlight --failsafe --out-format=esc -o STDOUT -i foo.sh

次のようになります。

ソースハイライト出力を示すスクリーンショット 必要に応じて出力を調整するためのさまざまなオプションがありますman source-highlight。を参照してください。catあるいは、これを行うために小さなラッパー関数を作成できます。

colorCat(){
    for f; do
     source-highlight --failsafe --out-format=esc -o STDOUT -i "$f"
    done
}

シェルの初期化ファイル(~/.bashrcbashなど)に次の行を追加すると、次のことができます。

colorCat file1 file2 ... fileN

less個人的には、catソースコードファイルがかなり大きな傾向があり、バックスクロール、検索などを行うことができるという点で代替としてより有用だと思います。これを行うには、次のものを使用できます。

cless(){
    LESSOPEN='| source-highlight --failsafe --out-format=esc -o STDOUT -i %s 2>/dev/null ' LESS=-R less "$@" 
}

このファイルを複数のファイルと組み合わせて使用​​すると機能します:n

関連情報