tmux / vim 拆分窗格

tmux / vim 拆分窗格

我从另一个人那里借用了这个截图问题

在此处输入图片描述

终端背景似乎从分隔线左侧漏入了 vim。这在顶部

谁能告诉我这是为什么/是什么,以及我是否可以摆脱它以便消除分歧?

答案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 设置。

相关内容