Сплит панели 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.