白い端末カーソルと黄色の Vim 検索

白い端末カーソルと黄色の Vim 検索

XTermに点滅するブロックカーソルがあります。目標は常に私の現在の位置を知ることです。通常はうまく機能しますが、カーソルをカーソルの色に似た背景に置くと失敗します。私が意味するものの代表的な例は、Vimで検索することです。背景は黄色、カーソルは白です(以降.foreground.Xesources。したがって、強調表示された結果が現在の結果であることはほとんどわかりません。

黄色の検索結果を得るために、カーソルが現在の文字の色を反転させたいのですが(カーソルが点滅すると、カーソルが指す文字は暗い背景と明るいテキストを持ちます)。このソリューションは、少なくともこの特定のシナリオで動作する必要があります。

VimまたはXTermの設定でこれを行う必要があるかどうかはわかりません。これについてWebページとマニュアルページを検索してみましたが、関連情報が見つかりませんでした。

私はgvimを使わずに快適Wim。多くのリソースでguibg=reverseVimを参照していますが、ここでは機能しません。

答え1

カーソルの色を指定しない場合xtermカーソルが配置されているセルには、前景色/背景色の反対色でカーソルが描画されます。それはxtermのためのものです。他のどのプログラムもこのように動作しません。

これはxterm マニュアル説明する:

cursorColor(授業CursorColor)
テキストカーソルに使用される色を指定します。デフォルトは " XtDefaultForeground"です。デフォルトでは、xtermは努力するこの色はテキストセルの背景を塗りつぶしてカーソルを描画し、背景色と同じではありません。この色を変更できる制御シーケンスにも同じ制限が適用されます。

このリソースを設定すると、xtermのカーソルカラー調整のほとんどは無視されます。黒い背景に黒いカーソルが表示されるなど、特定の状況を抑制するために、リバースビデオを使用しています。

また、テキストを選択すると(マウスを使用するなど)、xtermはカーソルと選択項目を異なって見えるようにします。デフォルト設定に応じて、これに関連するリソース設定があります。highlightReversehighlightSelectionそしてhighlightTextColor

前景色/背景色反転のためのXtermの方法は、カーソルがすでに読み取れるセルにあると仮定します。テキストが黄色で背景が白の場合、カーソルはテキストよりも読みにくくなります。

Xtermにはカーソルの色を設定するために使用できるエスケープシーケンスもありますが、vimはそれを使用してカーソルの色をオーバーライドする方法を提供しません(実際には複雑になる可能性があります)。

xtermのデフォルトのカーソルカラースキームは読みやすさを低下させないので、vimでこの問題に対する解決策は、読みやすいカラーテーマ(黄色の背景と白のテキストなし)を選択することです。

答え2

色を変更するだけでなく、カーソルを見つけやすくするためのいくつかの方法を考えてみましょう。人々はcursorcolumnこの機能をオン、cursorlineオフ、または恒久的にオンにすることができます。それは私のお気に入りのカラースキームのヒントが十分ではないかもしれませんし、耐えるのに醜すぎるかもしれません。

別の解決策は、検索ハイライトを切り替えることです。 offを使用し:se nohls、onを使用してください:sehls。これは継続的な設定なので、人々は強調表示された検索に戻ることを忘れることができます。

現在の検索のハイライトをオフにするために、.vimrcで次の設定を使用して「Ctrl + l」(aではなくell)をマップしました。次回検索するとハイライトが返されます。 「Ctrl + l」は、デフォルトのマッピングが:redraw画面を更新するコマンドなので、再マッピングに便利です。

nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>

また、「F3」を使用して継続的な検索ハイライトを切り替えるマッピングもあります。

nnoremap <F3> :set hlsearch! hlsearch?<CR>

関連情報