Сплит панели tmux / vim

Я заимствую этот скриншот из другого вопроса:

введите описание здесь

Терминальный фон, кажется, просачивается в пространство слева от разделительной границы. Это наиболее заметно вблизи вершины.

Может кто-нибудь сказать мне, почему / что это и если я могу избавиться от этого, чтобы пропасть была чистой?

2 ответа

Решение

Символ, используемый tmux для рисования границы панели, или же U+2502, Это линия шириной 1 или 2 пикселя в середине ячейки. Остальная часть ячейки пуста, и вы просто видите цвет фона вашего терминала на каждой стороне линии.

Я вижу три способа "исправить" это.

  • Используйте тот же цвет фона в Vim и вашем эмуляторе терминала.

  • Скажите tmux рисовать границы одного цвета для фона и переднего плана.

  • Скажите tmux использовать другого персонажа, такого как █, для рисования границ.

Два последних решения сделают ваши границы заметно толще, а последнее может привести к глюкам дисплея в зависимости от используемого вами шрифта.

У меня лично фон Vim и фон терминала установлены на один и тот же цвет.

(спасибо ZyX)

Следуя третьему совету @romainl, вы можете использовать символы U+258C или U+2590 (символы LEFT и RIGHT HALF BLOCK соответственно) и указать tmux установить (в случае слева и vim слева) цвет переднего плана для фона vim и фона цвет фона оболочки.

Эта опция должна быть установлена ​​из vimrc, когда $TMUX переменная существует и не является пустой (она устанавливается tmux внутри дочерних процессов) и сбрасывается при событии VimLeave. Это предполагает, что вы всегда открываете vim только на левой панели. С некоторыми изменениями вы можете определить, в какой панели вы находитесь (tmux list-panesодин с (active) в конце) есть ли vim в соседнем окне (путем проверки ключа границы) и соответственно измените настройки tmux.

Другие вопросы по тегам