web-dev-qa-db-ja.com

tmuxでvimを開くと、太字のフォントがあります

だから私は問題を抱えています、tmuxでvimを開くと、すべてのフォントが太字になります。私の構成では、t_Co = 256を設定します。これを8に設定しても、一部のキーワードで太字が消えます。 uxtermを使用するdwmでFreebsdを使用しています。私のvimカラーテーマは「宇宙飛行士」です。これが発生する理由とそれを修正する方法の手がかりはありますか?

追加情報:

  • Tmuxでのみ発生します
  • Xtermで大丈夫です
  • tmuxの外にあるecho $ TERMは「rxvt」です
  • tmux内のecho $ TERMは「画面」です
5
holms

同様の問題が発生しました。斜体と反転ビデオが切り替えられました。

「Screenのterminfoの説明にはイタリックモードがなく、代わりに目立つモードがありますが、urxvtがイタリックに使用するのと同じエスケープシーケンスを使用しています。つまり、イタリックを探しているアプリケーション(vimなど)はそれを見つけられず、代わりに逆になる可能性があります。一方、目立つことを求めるアプリケーション(lessなど)は、逆ではなくイタリックで終わります.tmuxがイタリックをサポートしていることをアプリケーションに認識させ、目立つために適切なエスケープシーケンスを使用するには、sgrを変更した新しいterminfoファイルを作成する必要があります。 smso、rmso、sitm、およびritmエントリ:

$ mkdir $HOME/.terminfo/
$ screen_terminfo="screen"
$ infocmp "$screen_terminfo" | sed \
  -e 's/^screen[^|]*|[^,]*,/screen-it|screen with italics support,/' \
  -e 's/%?%p1%t;3%/%?%p1%t;7%/' \
  -e 's/smso=[^,]*,/smso=\\E[7m,/' \
  -e 's/rmso=[^,]*,/rmso=\\E[27m,/' \
  -e '$s/$/ sitm=\\E[3m, ritm=\\E[23m,/' > /tmp/screen.terminfo
$ tic /tmp/screen.terminfo

そして、〜/ .tmux.confでそれを使用するようにtmuxに指示します:

set -g default-terminal "screen-it"

端末が256色をサポートしている場合は、次を使用します。

$ screen_terminfo="screen-256color"

「画面」の代わりに。詳細については、FAQエントリの約256色のサポートについてを参照してください。また、tmuxは、イタリックをサポートしていない端末でもリバースビデオを表示することに注意してください。」

この終わりFAQ http://tmux.cvs.sourceforge.net/viewvc/tmux/tmux/FAQ

1
Johnny Hoang