魚の殻の下でカラーのマニュアルページを取得する方法は?


12

(参照色で表示するmanページを取得する方法があるようですここで。それは少ないと関連する環境変数を設定し、これらの定義を加えることを含む.bashrc。私は同じでやってみましたconfig.fish魚のシェルのために、ないカラー出力を得ませんでした。

フィッシュシェルでカラーのマニュアルページを取得する方法は?




@ bodhi.zazen Fishは、エクスポートの代わりにsetコマンドを使用します。それはマニュアルページをカラーで表示しませんでした。したがって、上記の私の質問:-)
アシュウィンナンジャッパ14

これらの変数を(arch wikiから)少なくするか(arch wikiから)最も多く「設定」する必要があります。
パンサー14

@ bodhi.zazenはい。私はそれをやった。マニュアルページに色がありません:-(
アシュウィンナンジャッパ14

回答:


6

次のコマンドで構成を設定できます。

set -x LESS_TERMCAP_mb (printf "\033[01;31m")  
set -x LESS_TERMCAP_md (printf "\033[01;31m")  
set -x LESS_TERMCAP_me (printf "\033[0m")  
set -x LESS_TERMCAP_se (printf "\033[0m")  
set -x LESS_TERMCAP_so (printf "\033[01;44;33m")  
set -x LESS_TERMCAP_ue (printf "\033[0m")  
set -x LESS_TERMCAP_us (printf "\033[01;32m")  

7

表示するすべてのものではなく、マニュアルページを表示するときにのみこれらの色を追加する場合はless、これらの変数をmanに入れる代わりに、ラッパー関数で設定する必要がありますconfig.fish

全体のプロセスはで新しいファイルを作成し~/.config/fish/functions/man.fish、その内部でman必要な環境変数を設定する関数を定義mancommand、を使用して元のを呼び出し、を使用して引数を渡します$argv

これは私のバージョンのラッパー関数です:

~/.config/fish/functions/man.fish
function man --description "wrap the 'man' manual page opener to use color in formatting"
  # based on this group of settings and explanation for them:
  # http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized
  # converted to Fish shell syntax thanks to this page:
  # http://askubuntu.com/questions/522599/how-to-get-color-man-pages-under-fish-shell/650192

  # start of bold:
  set -x LESS_TERMCAP_md (set_color --bold red)
  # end of all formatting:
  set -x LESS_TERMCAP_me (set_color normal)

  # start of standout (inverted colors):
  #set -x LESS_TERMCAP_so (set_color --reverse)
  # end of standout (inverted colors):
  #set -x LESS_TERMCAP_se (set_color normal)
  # (no change – I like the default)

  # start of underline:
  #set -x LESS_TERMCAP_us (set_color --underline)
  # end of underline:
  #set -x LESS_TERMCAP_ue (set_color normal)
  # (no change – I like the default)

  command man $argv
end

2
素晴らしいです、ありがとう!そして、さらに怪しくなるには、set_colorコマンドを使用できます。例:set -x LESS_TERMCAP_md (set_color -o red)set -x LESS_TERMCAP_me (set_color normal)
クリスクラーク

3

あなたのページャとしてあまり使用と仮定すると、でこれを置きます~/.config/fish/config.fish

set -x LESS_TERMCAP_mb (printf "\e[01;31m")
set -x LESS_TERMCAP_md (printf "\e[01;31m")
set -x LESS_TERMCAP_me (printf "\e[0m")
set -x LESS_TERMCAP_se (printf "\e[0m")
set -x LESS_TERMCAP_so (printf "\e[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\e[0m")
set -x LESS_TERMCAP_us (printf "\e[01;32m")

あなたは、表示された場合\e[0m:あなたはmanページを表示するときに、同様にこの行を追加してみてください登場など

set -x LESS "-R"

動作していません。「man ls」を実行すると、\ e [01文字列が表示されます。
アシュウィンナンジャッパ

奇妙なことに、これは私の設定ファイルから直接のものだと思います。しかし、実際には別のディストリビューションを自分で実行しているため、Ubuntuでは実際に試していません。たぶん、あなたset -x LESS="-R"はあなたの設定の最後に追加してみることができますか?
ボバルバ14年

それを追加しても役に立ちませんでした。それでもマンページに同じ\ e [01文字列が表示されます。
アシュウィンナンジャッパ14年

1

set_color直接のANSIシーケンスの代わりに使用することが可能です。実際、これにより、などの24ビット色の16進エスケープを使用して、任意の色を使用できます(set_color FF55AA)

set -x LESS_TERMCAP_mb (set_color brred)
set -x LESS_TERMCAP_md (set_color brred)
set -x LESS_TERMCAP_me (set_color normal)
set -x LESS_TERMCAP_se (set_color normal)
set -x LESS_TERMCAP_so (set_color -b blue bryellow)
set -x LESS_TERMCAP_ue (set_color normal)
set -x LESS_TERMCAP_us (set_color brgreen)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.