イタリック体の代わりにハイライト検索パターンを減らします。

イタリック体の代わりにハイライト検索パターンを減らします。

私が理解したように、人々はそれをlessポケットベルとして使用し、キーワードを検索するときにイタリック体でlessキーワードを「強調表示する」ために使用します。これは本当に不便でvimのようなものに変えたいのですが、set hlsearch見つかったパターンの背景が異なります。

実行しようとしましたが、man -P vim systemdエラー状態1で終了したため停止したようですless

私はそこで何の助けも見つけることができませんでした。代わりに、このオプションがすべてのハイライトをオフにするman lessことがわかりましたが、これはイタリック体よりも悪いです。-G

つまり、マニュアルページで検索の強調表示(背景色の変更)を実装する方法を知っている人はいますか?

ちなみに私はUbuntu 14.10を実行しています。

私はこれに会った質問同じことを聞いているようですが、これがどのように機能するのかわかりません(LESS_TERMCAP_so)。マニュアルlessページにはこれに対する言及はありません。 (このソリューションで奇妙な結果を得ました)

答え1

スーパーユーザーで答えを見つけました。https://superuser.com/questions/566082/less-doesnt-highlight-search

これはTERM設定に関連しているようです。たとえば、通常の gnome ターミナル ウィンドウでは通常、あまり強調表示が機能しませんが(白い背景を強調表示)、tmux にあるときはイタリック体が表示されます。私にとって違いは、tmuxではTERMが「screen」に設定され、tmuxでは「xterm-256color」に設定されることです。 tmuxウィンドウで「TERM = xterm-256color」を設定すると、lessの強調表示が背景の強調表示に戻ります。

答え2

言及がLESS_TERMCAP_so不完全です。これは、termcap so(優れた)機能をオーバーライドするlessの特殊な環境変数です。この機能を使用するには、se(標準)機能も提供する必要があります。

これ用語情報(5)マニュアルページには、terminfo(smso / rmso)とtermcap(so / se)の名前に関するこれらの機能がまとめられています。

   enter_standout_mode           smso       so        begin standout mode
   exit_standout_mode            rmso       se        exit standout mode  

その一部について最も明るい部分説明する:

端末に複数の表示属性がある場合は、さまざまな方法でこれらの属性を表すことができます。表示形式を選択する必要があります。目立つモードは、エラーメッセージやその他の人目を引くコンテンツを強調するための見やすい高コントラスト形式を表します。 (選択できる場合は、映像反転と半分明るくても良いし、映像反転のみするのも良いです。) smso そして rmso、それぞれ。

色を使いたいなら目立つ、対応するLESS_TERMCAP_seリセット色を提供する必要があります。他の理由で(groffのSGRカラー機能を使用するなど)、マニュアルページでカラーを使用したくない限り、これは比較的簡単です。

コメントに提案された値を想定すると、次のようになります。

export LESS_TERMCAP_so=$'\E[30;43m'

その後、ほとんどの端末を使用してリセットできます

export LESS_TERMCAP_se=$'\E[39;49m'

しかし、その理由はイタリック体GNUの端末記述は、独自screenの主要/標準機能で、イタリック体の標準エスケープシーケンスを使用します。その一部は端末データベース項目

答え3

検索後にクリックするとESCu検索ハイライトがオフになり、新しい検索が再びオンになるlessため、セッションクリックの検索ハイライトは永久にオフになります-G

LESS='-G'環境に入れるか、man次のように実行します。

LESS='-G' man less

less皮肉なことに、マンページにはこの内容がすべて文書化されています。

また、あなたと同じ環境に以下を置くこともできます.bash_profile

export MANPAGER='less -G'

答え4

~のためマルチプレクサ私はTERMそれをtmux-256color。他の利点の中でも、「一般的な」リバースハイライトがあります。少ない。 Fedoraやcygwinなどの最新の機能を使用すると、うまく機能します。

$ cat ~/.tmux.conf
set-option -g default-terminal tmux-256color

これ呪いしかし、Centosのパッケージには2つのtmux定義(マルチプレクサそしてtmux-256color)。 Fedoraから簡単にインポートできます。少ししわはセントース呪いFedoraのterminfoファイルを直接理解するには古すぎます。

Fedoraから:

$ infocmp tmux256-color >temp.txt

セントースでは:

$ scp fedora-machine:temp.txt .
$ tic temp.txt

それからマルチプレクサ:

$ TERM=tmux-256-color man tmux

結果!

参考としてのみチックコマンドは、コンパイルされた端末記述を個人のterminfoデータベース、つまり ~/.terminfo/t/tmux-256color(この場合)に配置します。必要に応じて、自由にグローバルデータベースに移動できます。

$ sudo mv ~/.terminfo/t/tmux-256color /usr/share/terminfo/t/

関連情報