シンタックスハイライト付きのCソースコードファイルを出力したい場合、cat
を使用できますか?
A GNU package、 source-highlight は、トリックを実行しているようです(ただし、catを使用していません-John Tが指摘しているように、これは次の場合には不可能です)。特にcat)。Ubuntuのapt-getを介して利用可能であり、Boost正規表現ライブラリが必要です。両方が利用可能かどうかをパッケージマネージャーで確認してください。両方が利用可能でない場合は、Webから取得できます。GNU =以前にリンクされたページにはBoostへのリンクがあると思います。
インストール後、パスにccatという新しいスクリプトを作成しました。スクリプトは次のようになります。
#!/bin/bash
src-hilite-lesspipe.sh $1
特別なことは何もありません。source-highlightで含まれているlessスクリプトを単純化するだけです。このように呼ばれると、猫のように振る舞います。
ただし、含まれているlessスクリプトは、Niceスクリプトとしても使用できます。以下を。bashrcに追加しました:
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
そのスクリプトは、ソースハイライトのオンラインマニュアルにも含まれています。
Catを完全に無視したい場合は、catにエイリアスしてsrc-hilite-lesspipe.sh $ 1を呼び出すことができると思いますが、それは望ましくない場合があります。
cat
のような構文で強調表示されたコードを出力するために、 http://scott.sherrillmix.com/blog/programmer/syntax-)の指示に従ってccat
コマンドを作成しました。ターミナルでの強調表示/ 。
#!/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'
これを解決するために、私は highlight を使用しました。構文強調表示でファイルを印刷しようとする関数を作成しましたが、失敗した場合は、単に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
を実行してhighlightをインストールできます。それ以外の場合は、他のほとんどのパッケージマネージャーで利用可能であり、ダウンロードできます ここ 。
また、構文が強調表示されたファイルをhtmlとして印刷し、ブラウザーで開いて印刷する関数を作成しました(OSXの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
}
楽しい!
いいえ、猫には構文強調機能はありません。構文が強調表示されたソースコードを表示したい場合は、vimまたは選択したエディター(構文が強調表示されている)にポップします。このように、長いファイルの場合は、を使用して出力をページングすることもできます。 Ctrl + F (フォワード)および Ctrl + B (後方)。