Цветовая схема Vim не работает в tmux

1586
niko

Я использую konsole-4.14.3, tmux-2.6, vim-7.4.1938и моя оболочка Баш. За пределами tmux моя цветовая схема vim работает правильно. Однако внутри tmux цвета совершенно разные. Я вроде знаю, в чем проблема, но не знаю, как ее решить.

Значением по умолчанию $TERMдля моего терминала является xterm. Если я добавлю

set -g default-terminal screen-256color set -g terminal-overrides ',screen-256color:Tc' 

к моему ~/.tmux.confи export TERM=screen-256colorк моему ~/.bashrc, vim цвета правильно работают в tmux. Однако изменение значения TERMзаставляет перенос строки, чтобы перестать работать как снаружи, так и внутри tmux.

Как мне это исправить?

2
`TERM = xterm` описывает терминал, поддерживающий 8 (16) цветов, тогда как` TERM = screen-256color` описывает терминал с поддержкой 256 цветов. Неудивительно, что vim выбирает другую цветовую схему, когда видит различные возможности терминала. Поскольку вы предпочитаете тот, что внутри tmux, почему бы не установить `TERM = xterm-256color` снаружи (непосредственно в` konsole`; я считаю, что это также значение по умолчанию для более новых версий `konsole`), и, конечно, оставить` TERM = screen- 256color` внутри `tmux`, как у вас уже есть. egmont 6 лет назад 0

1 ответ на вопрос

2
niko

Я нашел исправление. Я удалил строки в ~/.tmux.confэтом наборе, чтобы терминал, screen-256colorтак что tmuxвыбирает по умолчанию. Я не изменился ни $TERMв моем, ~/.bashrcни где-либо еще. Затем я запустил tmux, tmux -2который заставляет tmux использовать 256 цветов. Убедитесь, что ваш источник conf :source-file ~/.tmux.confи перезапустите ваш терминал. Ручная настройка tmux для меня screen-256colorили xterm-256colorне сработала, так как это привело к тому, что перенос строк перестал работать. Обратите внимание, что хотя моим $TERMзначением по умолчанию было xterm, konsole по-прежнему будет поддерживать 256 цветов.

Похожие вопросы