コマンドラインからファイルの内容をすばやく表示したい場合があります。これにはもちろん使用しますがcat
、多くの場合、Python、Java、または単純なHTMLのソースファイルです。これらのファイルについては、ファイルにcat
色のマークアップを付けて、読みやすくすることができれば便利です。
cat
そのようなことはできますか?
コマンドラインからファイルの内容をすばやく表示したい場合があります。これにはもちろん使用しますがcat
、多くの場合、Python、Java、または単純なHTMLのソースファイルです。これらのファイルについては、ファイルにcat
色のマークアップを付けて、読みやすくすることができれば便利です。
cat
そのようなことはできますか?
回答:
cat
これを行うことができません。ただし、ピグメントが役立つ場合があります。Pythonスクリプトであり、apt-getを介してインストールできます。
sudo apt-get install python-pygments
またはeasy_install経由で簡単にダウンロードしてインストールします。
多くのソースコード言語とマークアップ言語もサポートしています
によって使用されます
pygmentize -g <filename>
pygmentize -g <filename>
、-g
スイッチはレクサーなしでファイルを処理するために重要です。たとえば、それ/etc/fstab
なし-g
で開こうとすると失敗します。
pygmentize --help
場合-g
、ファイルの内容からレクサーを推測するか、これが失敗した場合はプレーンテキストとしてパススルーを試みます(これは標準入力で動作します)。
funced cat... type pygmentize -g $argv... save..funcsave cat
です。
bashrc
私がコメントを追加しました: command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
それcat
自体からではなく、ソースハイライト 、スーパーキャット、ハイライトなどを使用できます
ソースハイライト
このプログラムは、ソースファイルを指定すると、構文が強調表示されたドキュメントを生成します。また、C ++ハイライトライブラリ(新規)(バージョン3.0以降)も提供します。
Source-highlightはソース言語の仕様を動的に読み取るため、新しい言語を処理するために(ソースを再コンパイルせずに)簡単に拡張できます。また、出力形式の仕様を動的に読み取るため、新しい出力形式を処理するために(ソースを再コンパイルすることなく)簡単に拡張できます。これらの仕様の構文は非常に簡単です(マニュアルをご覧ください)。
インストールに関するマニュアル:
詳細な構築およびインストール手順については、INSTALLファイルを参照してください。とにかく、ソースが付属しているLinuxソフトウェアのコンパイルに慣れている場合は、通常の手順に従うだけです。つまり、ディレクトリにダウンロードしたファイルを展開してから、次のようにします。
cd <source code main directory>
./configure
make
make install
スーパーキャット
これはSupercatのホームページです。Supercatは、一致する正規表現/文字列/文字に基づいてテキストを色付けするプログラムです。Supercatは、HTML出力と標準ASCIIテキストをサポートしています。存在する一部のテキスト色付けプログラムとは異なり、Supercatでは、色付けルールを作成するためにプログラマーである必要はありません。
標準ファイルタイプのsupercat構成ファイルを作成した場合は、「bug-spc(at)nosredna(dot)net」で私に連絡することをsuperしないでください。supercatディストリビューションに含めることができます。
これは、 Gentooのemerge.logでのSupercatの作業のサンプルページです。
または、関数(source)を使用する場合:
#!/bin/bash#!/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
必要:Pygments (sudo apt-get install python-pygments python3-pygments
)bash .functionsに関数として追加し、color()のような名前を付けます
この回答からとして、ここでは、使用することができますpython-pygments
ものを強調するためにパッケージを。最初に:
sudo apt-get install python-pygments python3-pygments
その後:
pygmentize -g FILENAME
次に行ってください:
リンクした回答のように、エイリアスとして設定することもできます-基本的には、これを実行します:
echo "alias catc='pygmentize -g'" >> ~/.bash_aliases
chmod +x ~/.bash_aliases
ターミナルを閉じて再度開きます。catc
コマンドが機能するはずです。機能しない場合は、これらの行が.bashrc
ファイル内にあり、コメントが解除されていることを確認してください。
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
別のことは、単に使用することnano
です:
nano testfile
man view
または man vim
基本的な使用法: view <filename>
終了:(使用:q<Return>
する<Esc>
場合は最初に追加vim
)、またはZZ
(大文字zを2回)。
プログラマーのテキストエディターにvim
は必要なものがすべて揃っており、おそらく既にシステムの一部になっています。
vim
view
またはで有効になっている読み取り専用モードがありますvim -R
。マークアップしたファイルを表示するだけであれば、それで十分です。
使いやすく、ナビゲート可能で、どこでも利用できます。新しいソフトウェアのインストールやbashスクリプトの作成に煩わされる必要はありません。
vim
またはview
、ファイルを指定するだけview file.py
でよいので、との違いはありませんcat
。確かにそれを閉じる必要がありますが、本当に、:q<Return>
またはZZ
難しいタスクではありません。
cat
構文強調表示のみを生成することはできません。それでも、次を使用してこれを行うことができますpython-pygments
。最初に端末からインストールします、
sudo apt-get install python-pygments
次に、以下の関数をコピーします~/.bashrc
。それはあなたが望むものをさらに提供し、cat
それ以外の場合はプロパティを保存しますcat
catc(){
cat "$@" > /tmp/.tmp
pygmentize -g /tmp/.tmp
rm /tmp/.tmp
}
ソース~/.bashrc
として、
. ~/.bashrc
色付けされた出力が得られますが、
catc <filename>
色も連結しますが、
catc <file1> <file2> ... <filen>
pygmentize?
フォームのコマンドを使用して開いているときに上下の矢印でスクロールを有効にする方法はありますか?スクロール xterm -e "pygmentize -g <filename>"
する唯一の方法はスクロールバーを使用することです 出力をパイピングしようとless
しましたが、ガベージ出力になりました。
pygmentize
、より少なく使用できます。lessc
次のようにbash関数を作成しますlessc () { pygmentize -gf terminal "$1" | less -R }
他の答えは、なぜそれがcat
できないのかをカバーしています。lesspipe.shを使用すれば、より少ないコストで実行できますが
。
サードパーティのパッケージをインストールするのではなく、gedit
シンタックスハイライトを使用してファイルをすばやく表示するために使用できます。たとえば、上記のアドレスバーをコピーして、ターミナルに貼り付けます。
gedit https://askubuntu.com/questions/405960/can-cat-show-files-using-code-markup-in-colors
この質問は、フォーマットされた色のHTMLで表示されます。
gedit
ナビゲーションキーを使用できますcat