2

gnome-terminal と konsole では、vim で選択した前景色に応じてカーソルの色が変わります (赤いテキストを表示している場合、カーソルは赤になります)。xterm では、カーソルは常に白です。xterm を gnome-terminal または konsole と同じ動作に設定するにはどうすればよいですか?

どうもありがとう。

4

4 に答える 4

1

実際、xterm のマニュアルはそれほど単純ではなく、この機能だけに適したチュートリアルはありません。マニュアルからの引用:

cursorColor (クラスCursorColor )

テキスト カーソルに使用する色を指定します。デフォルトは「XtDefaultForeground」です。デフォルトでは、テキスト セルの背景を塗りつぶしてカーソルを描画するため、xterm はこの色が背景色と同じにならないようにします。この色を変更する可能性のある制御シーケンスにも同じ制限が適用されます。

このリソースを設定すると、カーソルの色に対する xterm の調整のほとんどが上書きされます。黒い背景に黒いカーソルを表示するなど、一部のケースを禁止するために、依然として反転ビデオが使用されます。

また、強調表示は特別に扱うことができます (コマンドライン オプションの説明から引用)。

-hm

xterm に、highlightTextColor と highlightColor を使用して、選択範囲内の反転された前景色/背景色をオーバーライドするように指示します。これは、highlightColorMode リソースを「true」に設定します。

これは、いくつかのケースを暗示しています。

  • カーソルの色は、コマンド ライン オプションまたはリソースを使用して設定できます。このように設定されている場合 (また、色を変更するために動的な色のエスケープ シーケンスによってオーバーライドされない限り)、xterm はこの色を使用します。
  • 制約されていない場合、xterm は、色 0 ~ 7 の「ANSI」制御シーケンスによって設定された前景色と背景色の反転を使用し、色 8 ~ 255 の非 ANSI コントロールを使用して、カーソルを可視状態に維持しようとします。
  • 場合によっては、アプリケーションが前景色と背景色を同じ値に設定することがあります (xterm はこの場合にも適切なカーソル色を選択しようとします)。
  • 色はハイライト用に個別に設定できます。

今... xtermは基本的に、前景と背景を逆にした色を選択することにより、カーソルを表示します(オーバーライドされない限り)。Gnome-terminal はそのようなことを行いますが、実際にはそうではありません: カラー パレットから反対の項目を選択します。これにより、使用するパレットの輝度が低いため、(今例を読んで) カーソルが見えにくくなります。(特に、黄色のテキストの「反転」がくすんだオレンジになることに気付きました)。原則として、Konsole のパレットはさらに視認性が低くなります (黄色は xterm のように反転されますが、赤色のテキストは黒色の背景に対して不明瞭です)。

XTerm:

ここに画像の説明を入力

Gnome ターミナル:

ここに画像の説明を入力

コンソール

ここに画像の説明を入力

要するに、OPのxtermがカーソルの色を特定の値に設定するように構成されているように聞こえ、修正は設定を削除することです。ただし、テキスト上のカーソルの外観は、色の設定に注意を払わない限り (3 つの端末すべてで) 異なります

于 2015-09-01T23:53:09.540 に答える
-1

Xterm のマニュアルによると、テキスト カーソルを自動的に強調表示します。Gnome-terminal は Xterm からその特性を継承しているため、vim でカーソルの色が変わります。

私の場合、カーソルの強調表示に関して、xterm は gnome-terminal と同じように機能します。

あなたは本物の xterm を使っているので、$TERM を 'xterm' として設定している他の用語ですか?

于 2013-05-13T08:01:49.260 に答える