カラーttyで下線やその他の書式を有効にする方法は?

カラーttyで下線やその他の書式を有効にする方法は?

私はArch Linux(32ビットの代替)を使用しており、最近Vimで見た青い線が:set cursorline青ではなく下線を引く必要があることを発見しました。

これは解決策を模索するようになりました。

私はグラフィカル環境を使用していないので、デスクトップ環境やウィンドウマネージャもなく、zsh私が現在好きなシェルであるttyとうまくいきます。

:hi CursorLine cterm=boldカーソル線はもはや青ではなく、主に明るい色になり、すでに私の人生をより良くするので、これはカーソル線をよりきれいに見せます。

私もcterm=underline(まだ線を青でレンダリング)undercurl試してみ:hi clear CursorLineて、やり直しましたが、希望の下線が表示されませんでした。

私はfbtermそれが似たようなグラフィックターミナルエミュレータであると信じていたので、Vimを使ってみましたが、はるかに見苦しいスーパーワイドフォントを使っただけで同じ動作をしました。

これはVimにのみ適用されるのではなく、すべてに適用されるようです。私はechoesでANSIエスケープシーケンスを試してみましたが、テキストに下線を引こうとすると、下線なしで青も得られました。

だから私は信じるフォント、シェル構成、Vim構成など何も欠けています。

数回検索した後でも、私のttyにこれらの書式設定オプションがない理由の答えが見つからなかったので、ここで質問することにしました。

Raspbianを実行しているRaspberry Pi 3B+でこれを試してみましたが、ttyでほぼ同じ動作を得たことも注目に値します。

私がこの機能を動作させることができた唯一の場所は、私が時々Firefoxを使い始めたXサーバーでした。私はxtermその上に作りましたバラより上記のコマンドを入力しても下線が表示されますzsh

それでは、別のターミナルフォントを試してみて、私のttyをより美しくすることに近づいているかどうかを見てみましょう。

編集01:

Asciinemaで録音したのですが、よく出てきましたが、実際に見たのは私が説明したのとまったく同じでした。 ASCIIブロードキャスト

編集02:

私が読んでいるこのアーチウィキページyaftターミナルエミュレータについて少し調べて、私が探していたものになりそうだったので、一度試してみることにしました。

私はそれをインストールし、それを使用すると、私が望んでいた機能の少なくともいくつかが有効になっているので、本当に良いです。

答え1

Linuxコンソールドライバは読みやすさと実装の容易さの間のトレードオフであるため、カラーディスプレイの下線をサポートしません。これは1990年代半ばから発生し、次の文献に記録されています。console_codes(4):

   4       set underscore (simulated with color on a color display)
           (the colors used to simulate dim or underline are set
           using ESC ] ...)

あなたが他のものを持っている可能性はほとんどありません。カラーディスプレイ。下線を描くために使用される色を変更できますが、どのようにして色合いが適用されます。マニュアルページには、カスタマイズのエスケープシーケンスが記載されています。カラーパレット:

   ESC ]     OSC      (Should be: Operating system command) ESC ] P
                      nrrggbb: set palette, with parameter given in 7
                      hexadecimal digits after the final P :-(.  Here n
                      is the color (0–15), and rrggbb indicates the
                      red/green/blue values (0–255).  ESC ] R: reset
                      palette

16個のパレット項目のうちどの項目が表示されるかを知らせるために使用されるエスケープシーケンス暗いそして強調する:

   ESC [ 1 ; n ]       Set color n as the underline color.
   ESC [ 2 ; n ]       Set color n as the dim color.

「xterm」に設定されたバリアントはTERM結果が悪い。

  • Linuxコンソールドライバはxterm端末記述の内容をサポートしていません。
  • 端末linuxの説明は、Linuxコンソールドライバの実際の機能を使用するためのものです。

infocmp linux xterm-256color違いを見るには使用してください。かなり長いので、違いの程度を示す要約は次のとおりです。

$ infocmp -1x linux | wc -l
122
$ infocmp -1x xterm-256color |wc -l
272
$ infocmp -1x linux xterm-256color | wc -l
213

関連情報