たとえば、セッションman ls
中tmux
に検索すると、検索文字列が強調表示されません。ページが下にジャンプして、検索文字列が期待どおりにバッファの一番上の行に表示されますが、強調表示されません。
セッション中でないときに同じシェルで同じことを行うと、tmux
検索文字列が強調表示されます。
これを解決するためにどこから始めればよいのかわかりません。ヒントは大歓迎です。
たとえば、セッションman ls
中tmux
に検索すると、検索文字列が強調表示されません。ページが下にジャンプして、検索文字列が期待どおりにバッファの一番上の行に表示されますが、強調表示されません。
セッション中でないときに同じシェルで同じことを行うと、tmux
検索文字列が強調表示されます。
これを解決するためにどこから始めればよいのかわかりません。ヒントは大歓迎です。
Less Colors For Man Pages byに基づいてGen2ly
、ここに私のmanページとその方法があります:
これはシェルであり、ウェブページではありません!
などを編集~/.bashrc
~/.zshrc
して追加します。
# Colored man pages: http://linuxtidbits.wordpress.com/2009/03/23/less-colors-for-man-pages/
# Less Colors for Man Pages
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
export LESS_TERMCAP_so=$'\E[38;5;016m\E[48;5;220m' # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline
設定をリロードして、man ページ検索を試してください:
. ~/.bashrc && man ls
修正しました。問題は、screen
$TERM
イタリックを処理する方法に関係しています。tmux
FAQから:
vimはイタリックの代わりにリバースビデオを表示し、lessはリバースの代わりにイタリック(または通常のテキスト)を表示します。どうしたの?
これは私の問題と完全に一致します。$PAGER
によって使用されるのman
はless
デフォルトです。基本的には、マニュアルページの内容を表示するためにman
使用されます。less
私の場合、less
テキストを強調表示するのではなく、通常のテキストを表示するだけでした。
これが発生する理由:
Screenのterminfoの説明にはイタリックモードがなく、代わりに目立つモードがありますが、urxvtがイタリックに使用するのと同じエスケープシーケンスを使用しています。つまり、イタリックを探しているアプリケーション(vimなど)はそれを見つけられず、代わりに逆になってしまう可能性がありますが、目立つものを求めているアプリケーション(lessなど)は、逆ではなくイタリックになってしまいます。
解決策は、の新しいterminfo
ファイルを作成することですtmux
。これにより、イタリックがサポートされていることがわかります。tmux
ソリューションの概要は、(執筆時点で) FAQの非常に下部にあります。
新しいterminfo
ファイルを作成した後、tmux
:(このスーパーユーザーの質問C-b :source-file /absolute/path/to/.tmux.conf
から)-これにより、ファイルがリロードされます。ただし、これは私には機能せず、変更はサーバーを再起動した後にのみ適用されました(すべてのセッションを閉じてから再度開きます)。tmux
.tmux.conf
tmux
tmux