多くのプログラミング指向のエディターは、ソースコードを色分けします。端末で表示するためにソースコードを色付けするコマンドはありますか?
emacs -nw
(新しいウィンドウをポップアップする代わりにターミナルで開く)でファイルを開くことはできますが、less
(またはそれが機能する)のように機能するものを探していますwithless -R
、入力でカラーエスケープシーケンスを通過します)。
highlight
と同じ色のエスケープシーケンスをサポートする端末で xterm
を使用:
highlight -O xterm256 your-file | less -R
Ruby-rouge
を使用:
rougify your-file | less -R
python-pygments
を使用:
pygmentize your-file | less -R
GNU source-highlight
の場合:
source-highlight -f esc256 -i your-file | less -R
vim
に同梱されているmacros/less.sh
スクリプトを使用して、vim
をポケットベルとして使用することもできます(詳細については、vim
内の:h less
を参照してください)。
私のシステムでは:
sh /usr/share/vim/vim74/macros/less.sh your-file
source-highlight -o STDOUT -i your-file | elinks -dump -dump-color-mode 3 | less -R
GNU source-highlight
と組み合わせ less -R
このため。シェルの初期化ファイルに次の行を追加します(~/.bashrc
、 例えば):
cless(){
LESSOPEN='| source-highlight --failsafe --out-format=esc256 -o STDOUT -i %s 2>/dev/null ' less -R "$@"
}
これにより、使用する言語に応じて自動的にソースコードに色が付けられます。色付けできない場合は、入力で直接less
が起動されます。
より一般的にless
の色に興味がある場合は、lesspipe.sh
。たとえば、 http://freecode.com/projects/lesspipe を参照してください。
lesspipe.shは、lessのmanページで説明されているページャーlessの入力フィルターです。スクリプトはksh互換のシェル(bash、zshなど)の下で実行され、バイナリコンテンツを含むファイル、圧縮ファイル、アーカイブ、およびアーカイブに含まれるファイルを表示するために少ないリソースを使用できます。
また、テキストエディターと同様に、シェルスクリプト、Perlスクリプトなどに色を付けますが、「前処理」プログラムを使用せずに色付けを行います。
私はシンプルさを楽しんでおり、nanoテキストエディターを使用しています。この場合、通常は次のように進めます。
魔女構文ハイライトが利用可能かどうかを確認してください:ls -la /usr/share/nano/
次のコマンドを使用して、または手動で実行することにより、nanorcファイルにそれを含めます
echo 'include /usr/share/nano/sh.nanorc' >> ~/.nanorc
約less
をご覧になることをお勧めします このページ
StéphaneChazelasの提案に従って、highlight
show構文ハイライトを使用するbash関数を作成し、それを.bashrcなどに入れます。それは素晴らしく、速くて効果的です。
s(){ highlight --force -O ansi $1 | /usr/bin/less -R; }
ハイライトのサポート202言語構文形式。見る highlight --list-scripts=langs
。
more
やless
などのポケットベルの構文強調表示サポートを提供するパッケージ e2ansi を使用できます。
パッケージは、すべてのテキストエディターの母 Emacs を使用して、実際の構文の強調表示を実行します。追加のボーナスとして、Emacsによって通常実行される他のすべての変換(ファイルの解凍など)も実行されます。
以下は、less
およびe2ansi
を使用してファイルを表示した結果です。
このパッケージは、Emacsをバッチモードで起動し、ファイルを開き、構文を強調表示し、ANSIシーケンスを使用して結果をレンダリングするコマンドラインツールe2ansi-cat
を提供します。
これをless
に統合するには、たとえば次の変数を設定します(initファイルの場所は異なる場合があります)。
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
上記の構成では、less
は元のターミナルウィンドウのコンテンツを復元しますが、more
はプロンプトの後に新しいコンテンツを出力するだけです。
注:less
の古いバージョンを使用している場合、||
または-
構文がサポートされていない可能性があります。その場合は、単にLESSOPEN=|/usr/local/emacs ...
を使用する必要があります。
less
の使用LESSOPEN
の「-」文字は、テキストをless
にパイプするときに入力フィルターも使用する必要があることを示します。この場合、Emacsは(ファイル名ではなく)テキスト自体にのみ依存できます。幸い、Emacsはこのためのシステムを提供しています。さらに、提供されるファイルファイルe2ansi-magic.el
は、追加のファイルタイプを設定します。例えば:
e2ansi
を使用すると、less
でファイルを表示するときにテーマの色が保持されます。多くのソースから適切なカラーテーマを選択するか、独自にデザインできます。less
を使用してファイルを表示するときと同じようにエディターで強調表示されます(ANSIシーケンス形式とターミナルウィンドウの制限はありません)。less
は、ファイルの圧縮解除など、自動変換を実行するEmacs機能を利用します。実際、外部ツールを使用してバイナリファイルを人間が読める形式に自動的に変換するなど、あらゆる種類の変換を実行するようにEmacsに教えることができます。/USER@Host:FILENAME
のようなリモートアクセス用のEmacsの構文を使用して、他のマシンにあるファイルを表示できます。e2ansi
は Melpa で配布され、標準のEmacsパッケージシステムを使用してインストールできます。e2ansi
は GitHub でホストされていますe2ansi
ページless
のホーム。