在tmux中打开vim,我有粗体字体


5

所以我遇到了一个问题,当在tmux中打开vim时,所有字体都变为粗体。我的配置我有:设置t_Co = 256。即使将其设置为8,某些关键字也会消失一些粗体。我正在使用带有uxterm的dwm的Freebsd。我的vim颜色主题是“宇航员”。任何线索为什么会发生这种情况以及如何解决它?

附加信息:

  • 它只发生在tmux中
  • 在xterm中没关系
  • 在tmux之外的echo $ TERM是“rxvt”
  • tmux里面的echo $ TERM是“屏幕”

它是否发生在tmux之外?是否会在其他终端模拟器中发生?$ echo $TERM在tmux内外说什么?你用什么字体?你用什么编码?到处都是一样的吗?你能添加一个指向那个colorscheme的链接吗?怎么set background?说?如果将其设置为相反(lightvs dark)会发生什么?
罗曼

Answers:


1

我有一个类似的问题,斜体和反向视频切换。

“屏幕的terminfo描述缺少斜体模式,并且在其位置具有突出模式,但使用urxvt用于斜体的相同转义序列。这意味着寻找斜体的应用程序(如vim)将找不到它并且可能在其位置转向反转,而要求突出的应用程序(如较少)将以斜体而不是反向结束。要使应用程序意识到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在〜/ .tmux.conf中使用它:

set -g default-terminal "screen-it"

如果您的终端支持256色,请使用:

$ screen_terminfo="screen-256color"

而不是“屏幕”。有关详细信息,请参阅有关256色支持的FAQ条目。另请注意,tmux仍然会在不支持斜体的终端上显示反向视频。“

本FAQ的结尾 http://tmux.cvs.sourceforge.net/viewvc/tmux/tmux/FAQ


对我来说,还需要将sitm / ritm内容添加到xterm256 = color。我制作了一个脚本来做这些事情(github.com/cmatheson/italicize-my-terminal)。
凸轮
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.