tmux 中的 Linux VT Emacs,破坏颜色和光标

tmux 中的 Linux VT Emacs,破坏颜色和光标

TERM被设置为屏幕。我尝试过screen-256color,但是颜色消失了真的坚果。我也尝试过xtermlinux和其他一些(我能想到的,但没有真正想到的),但这screen是我得到的最接近的 - 尽管不完全 - “纯” tty Emacs 颜色。

如下所示,颜色工作(顶部窗口),只是由于某种原因,在 Emacs-w3m 的情况下,它们显示为青色。

另外,可能相关的是,我拥有的块纯色光标被下划线取代。我更喜欢变色块光标 - 最重要的是因为它在搜索后更容易发现。 (注意:下面没有显示光标问题,因为我使用 shell 命令来获取屏幕截图。)

in_tmux 不在 tmux 中

答案1

您使用的终端仿真器也可能与颜色有关。我在 256 颜色模式下使用 vim 时遇到了颜色问题,最终导致 KDE 的 konsole 终端仿真器更改了默认颜色,这使得 vim 颜色主题变得很混乱。

我最终不得不手动将颜色设置为预期的颜色才能使其正常工作。

我在以下方面运气最好:

  1. 屏幕-256 色
  2. 强制 tmux 采用 256 色:tmux -2
  3. 使用 urxvt 作为终端
  4. 并将以下内容添加到 .Xresources

~/.Xresources

URxvt*background:  black
URxvt*foreground:  white
URxvt*font:  xft: Inconsolata:size=12
URxvt*transparent: false
URxvt*depth: 32

尝试以下脚本来查看您是否确实获得了 256 种颜色。

#!/bin/bash
#
#   This file echoes a bunch of color codes to the 
#   terminal to demonstrate what's available.  Each 
#   line is the color code of one forground color,
#   out of 17 (default + 16 escapes), followed by a 
#   test use of that color on all nine background 
#   colors (default + 8 escapes).
#

T='gYw'   # The test text

echo -e "\n                 40m     41m     42m     43m\
     44m     45m     46m     47m";

for FGs in '    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
           '1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
           '  36m' '1;36m' '  37m' '1;37m';
  do FG=${FGs// /}

  echo -en " $FGs \033[$FG  $T  "

  for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
    do echo -en "$EINS \033[$FG\033[$BG  $T  \033[0m";
  done

  echo;
done
echo

相关内容