答案1
tmux 用于绘制窗格边框的字符是│
或U+2502
。它是单元格中间的一条 1px 或 2px 宽的线。单元格的其余部分是空的,您只会在线的两侧看到终端的背景颜色。
我认为有三种方法可以“解决”这个问题。
在 Vim 和终端模拟器中使用相同的背景颜色。
告诉 tmux 为背景和前景绘制相同颜色的边框。
告诉 tmux 使用其他字符(如 █)来绘制边框。
最后两个解决方案将使您的边框明显变得更宽,并且最后一个解决方案可能会根据您使用的字体引入显示故障。
我个人将我的 Vim 背景和终端背景设置为相同的颜色。
(感谢 ZyX)
答案2
按照第三个@romainl 建议,您可以使用 U+258C 或 U+2590 字符(分别是左半块字符和右半块字符)并告诉 tmux 设置(如果是左半块并且 vim 在左侧)前景色为 vim 背景色,背景色为 shell 背景色。
$TMUX
当变量存在且非空时(由子进程内的 tmux 设置),此选项将从 vimrc 中设置,并在 VimLeave 事件上重置。这假设您始终只在左窗格中打开 vim。通过一些调整,您可以检测您所在的窗格(末尾tmux list-panes
带有 的窗格(active)
)以及相邻窗口中是否有 vim(通过检查边框键)并相应地调整 tmux 设置。