terminfoを使って人と人の色を設定するには?

terminfoを使って人と人の色を設定するには?

私は見たこれ質問では、回答者はtermcapを使用してlessの色を定義し、manを表示するために使用できます。 termcapはもう使用されていませんが、より簡単で、terminfoはより複雑であると言います。

同様の設定を実行するためにterminfoを使用する方法を共有できる人はいますか?

$ cat ~/.LESS_TERMCAP 
export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan
export LESS_TERMCAP_me=$(tput sgr0)
export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4) # yellow on blue
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white
export LESS_TERMCAP_ue=$(tput rmul; tput sgr0)
export LESS_TERMCAP_mr=$(tput rev)
export LESS_TERMCAP_mh=$(tput dim)
export LESS_TERMCAP_ZN=$(tput ssubm)
export LESS_TERMCAP_ZV=$(tput rsubm)
export LESS_TERMCAP_ZO=$(tput ssupm)
export LESS_TERMCAP_ZW=$(tput rsupm) 

明らかに最初に変更する必要があるのは、名前である.LESS_TERMINFOです。それ以外には何のアイデアもありません。

私はterminfoページを読んだり解析したりしましたが、それが関連性があるかどうかはわかりませんが、IIRCもかなり多くの色を使用するncursesを使用していることを除いて、私にはあまり意味がありません。

誰もが色の.TERMINFO定義の同等のビットを共有するのに役立ちますか?

ベストアンサー1

同じです。 ncurses は以下を提供します。用語キャップlessデフォルトのターミナルデータベースが使用されている間、インターフェイス(使用)は用語情報。ほとんどすべてのtermcapアプリケーションと同様に、less返された文字列の構文を詳しく見ずにただ尋ねることができますが、注意してください。md(terminfoに対応するtermcap名bold)。

lessこれらのtermcap名のリストがある場合は、起動tgetstr時に関数(termcap ...)を使用してリストを読み取り、termcap名に追加された環境変数を使用してこれらの値をオーバーライドできますLESS_TERMCAP_

tputただし、例のすべてのコマンドは次のように使用します。用語情報名前。これは、単にlesstermcapインタフェースを使用して読み取ることができる文字列を割り当てるために使用されます。

追加資料:

おすすめ記事