質問

今、私は使用しています most 私のポケットベルとして。それは役立つ構文を強調していますが man ページでは、他の何でも色付けされた構文を強調していません(特にdiff/c ++を探しています)。

その間、 pygments 素晴らしいプログラムです。私はそれで簡単に色付けされた出力を作ることができます:

# ./pygmentize -f console256 ${file}
hg diff | ./pygmentize -f console256 -l diff

今、私は出力をページにできるようにしたいので、私はただ使用します:

# ./pygmentize -f console256 ${file} | most
hg diff | ./pygmentize -f console256 -l diff | most

この時点で、ほとんどのほとんどのカラー化制御文字を私の画面にダンプします。

^[[38;5;28;01mclass^[[39;00m ^[[38;5;21;01mheap_allocator^[[39;00m
{
^[[38;5;28;01mpublic^[[39;00m^[[38;5;241m:^[[39m

もちろん、これは読めません。私は見た man のページ most, 、しかし、「ねえ、それらのコントロール文字を印刷する代わりに色として見せて」オプションを見つけることができませんでした。 less 同じゴミの動作があります most, 、 しかし more 存在の明らかな制限がある色を完全に細かく示しています more.

構文の強調表示をサポートするポケットベルはありますか、それともパラメーターとプログラムのクレイジーな組み合わせを組み合わせて、この機能を作ることができますか?最終的に、私はMercurialから差分とログを強調するために取得したいので、そこにショートカットがあるかもしれません...

役に立ちましたか?

解決

less -R ANSIカラーシーケンスは(CARET表記に拡張する代わりに)AS-ISを表示します。これにより、構文が強調表示されます!

環境変数を作成することもできます LESS=-R これをデフォルトの動作にするため。同様に他のオプションについて。見る man less.

他のヒント

提案するかもしれません vimpager?

まず、最近 vim ディストリビューション(6.0以降は信じています) 来て ポケットベルモードスクリプト付き。それは非常にシンプルで機能的であり、同様に動作します less. 。試す: vim '+help less' +only.

しかし、さらに良いことに、Rafael Kitoverは、より堅牢で強力なスクリプトを書いています vimpager. 。利用可能です githubで (また vimscripts)。 OS Xを使用していて、HomeBrewを使用している場合、それは簡単です brew install vimpager.

その時点で、簡単にできます set $PAGER=vimpager, 、 あるいは alias less=vimpager. 。それはうまく機能します。

enter image description here

Jedを使用してみるかもしれません。はい、それはテキストエディターであり、ポケットベルではありませんが、非常に軽量であり、デフォルトのインストールには、さまざまなファイルタイプと言語の優れたカラースキームが含まれています。

Jedには、さまざまな言語のモードが強調表示されており、Simillar to the Emacsの構文があります。たとえば、Cプログラムをパイプした場合、押すことでハイライトをオンにすることができます。ESC'、 それから 'バツ'、次にタイピング'Cモード'。それがPHPプログラムの場合 - 最後の部分を変更します 'php-mode' 等々 ...

探す バット:猫(1)翼のあるクローン.

bat 多数のプログラミングおよびマークアップ言語の構文の強調表示をサポートします。

それはポケットベルではありませんが、出力を自動的にリダイレクトします less 必要に応じて。

enter image description here

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top