GNU/Linux >> Linux の 問題 >  >> Linux

猫が色付きで出力できるようにするオプションはありますか?

GNU パッケージの source-highlight がうまく機能しているようです (ただし、cat は使用していません。ジョン T が指摘しているように、これは特に cat では不可能です)。これは Ubuntu で apt-get を介して利用でき、Boost regex ライブラリが必要です。パッケージマネージャーをチェックして、両方が利用可能かどうかを確認してください。そうでない場合は、Web から入手できます。先ほどリンクした GNU ページには、Boost へのリンクがあると思います。

インストール後、パスに ccat という新しいスクリプトを作成しました .スクリプトは次のようになります:

#!/bin/bash
src-hilite-lesspipe.sh $1

less を単純化するだけです。 source-highlight に含まれるスクリプト。この方法で呼び出されると、猫のように動作します。

ただし、含まれている less スクリプトも使用するのに適したスクリプトです。 .bashrc に以下を追加しました :

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '

このスクリプトは、source-highlight のオンライン マニュアルにも含まれています。

cat を完全に無視したい場合は、cat をエイリアスして src-hilite-lesspipe.sh $1 を呼び出すことができると思いますが、それは望ましくない可能性があります。


cat のような構文で強調表示されたコードを出力するには 、 ccat を作成しました コマンドは http://scott.sherrillmix.com/blog/programmer/syntax-highlighting-in-terminal/ の指示に従ってください。

#!/bin/bash
if [ ! -t 0 ];then
  file=/dev/stdin
elif [ -f $1 ];then
  file=$1
else
  echo "Usage: $0 code.c"
  echo "or e.g. head code.c|$0"
  exit 1
fi
pygmentize -f terminal -g $file

less のような構文で強調表示されたコードを出力するには 、代わりに vim を使用しています。

alias less='/usr/share/vim/vim72/macros/less.sh'

これを解決するために、ハイライトを使用しました。構文の強調表示を使用してファイルを印刷しようとする関数を作成しました。失敗した場合は、単に cat を使用してファイルを印刷するようにフォールバックします。シンタックス ハイライトのテーマは、好きなように変更できます。

function hl { # Overrides the cat command to use syntax highlighting
    # Highlight with 'moria' theme to terminal, and suppress errors
    highlight $1 -s moria -O xterm256 2> /dev/null

    if (($? != 0)); then # If the command had errors
        cat $1 # Just cat the file out instead
    fi
}

Mac で Homebrew を使用している場合 (強くお勧めします!)、brew install highlight を実行してハイライトをインストールできます。 .それ以外の場合は、他のほとんどのパッケージ マネージャーで利用でき、ここからダウンロードできます。

また、構文を強調表示したファイルを html として出力し、ブラウザで開いて印刷する関数も作成しました (open に依存します)。 コマンド):

function hlprint {
    # Print with line numbers and 'moria' theme
    highlight $1 -l -o print.html -s moria
    open print.html # Open in browser
    sleep 5 # Give the browser time to open
    rm print.html highlight.css # Remove output files
}

お楽しみください!


Linux
  1. 猫の出力を変数に保存すると、すべての改行が削除されます

  2. head、tail、less などに渡されたテキストに色を付ける方法はありますか?

  3. シリアル デバイスでサポートされているボー レートを確認する方法はありますか?

  1. ディレクトリ付きの猫ファイル?

  2. Linux – X11を使用しないLinux用のGUIはありますか?

  3. ヘッダーを使用して ps 出力を grep する方法

  1. 2つのディストリビューションがスワップパーティションを共有する場合の副作用はありますか?

  2. ヒアドキュメントと猫と組み合わせて出力リダイレクトを使用する方法は?

  3. Xセッション中に画面にグラフィックを描画するためのCLIツールはありますか?