ページャーを強調表示する構文[閉じた
-
24-10-2019 - |
質問
今、私は使用しています 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
. 。それはうまく機能します。
Jedを使用してみるかもしれません。はい、それはテキストエディターであり、ポケットベルではありませんが、非常に軽量であり、デフォルトのインストールには、さまざまなファイルタイプと言語の優れたカラースキームが含まれています。
Jedには、さまざまな言語のモードが強調表示されており、Simillar to the Emacsの構文があります。たとえば、Cプログラムをパイプした場合、押すことでハイライトをオンにすることができます。ESC'、 それから 'バツ'、次にタイピング'Cモード'。それがPHPプログラムの場合 - 最後の部分を変更します 'php-mode' 等々 ...
探す バット:猫(1)翼のあるクローン.
bat
多数のプログラミングおよびマークアップ言語の構文の強調表示をサポートします。
それはポケットベルではありませんが、出力を自動的にリダイレクトします less
必要に応じて。