Потерять vim colorscheme в режиме tmux
Я использую iterm2, и когда я нахожусь в режиме tmux, цветовая схема, которую я установил в vim, не отображается. Только цветовая схема, которую я установил в iterm. Если я запускаю vim из оболочки, схема цветов выглядит правильно - только когда я в режиме tmux.
Я попытался установить :colorscheme molokai
когда в vim (см. Скриншот ниже), и он не меняется - опять же, схема цветов по умолчанию для iterm2 остается.
Я пропускаю некоторые настройки для iterm или tmux.conf? Мои дотфлы здесь на github.
Ответы
Ответ 1
У меня была та же проблема. Единственное отличие: я использовал solarize
, а не molokai
.
Чтобы устранить проблему, я установил псевдоним в ~/.bashrc
:
alias tmux="TERM=screen-256color-bce tmux"
И настройте опцию default-terminal
в ~/.tmux.conf
:
set -g default-terminal "xterm"
Наконец, do $ source ~/.bashrc
загружает новый псевдоним.
Ответ 2
Как упоминает выше @romainl, мне нужно было заставить tmux использовать 256 цветов, добавив флаг -2
:
$ tmux -2
Я добавил alias tmux='tmux -2'
в свой файл bash_profile, поэтому не забываю:)
Ответ 3
Я пробовал все вышеперечисленные решения, и для меня, наконец, работал у меня следующие строки в .tmux.conf
:
set -g default-terminal "xterm-256color"
Ответ 4
Я только что узнал, почему у меня много путаницы. У меня, как и у других, было трудное время, когда настройка терминала по умолчанию вступила в силу. Я вспомнил, что у меня была сессия tmux в фоновом режиме. Я снова подключил сеанс, закрыл свои процессы и закрыл все процессы tmux. В следующий раз, когда я перезапустил tmux, настройка по умолчанию в терминале .tmux.conf
начала действовать. Я не знаю, делают ли другие это, но я рекомендую закрыть все процессы tmux перед изменением файла .tmux.conf
.
Я получил свою настройку для работы на своей локальной машине (OSX 10.9.5 с iTerm2) без каких-либо изменений в .bashrc
или .bash_profile
. Все, что я сделал, это добавить строку set -g default-terminal "xterm-256color"
в ~/.tmux.conf
и перезапустить все процессы tmux.
Я получил удаленную настройку (ssh to Ubuntu 14.04), чтобы работать точно так же без каких-либо изменений в .bashrc
. Я просто добавил set -g default-terminal "xterm-256color"
в ~/.tmux.conf
на моем удаленном компьютере и перезапустил все удаленные процессы tmux.
Вы можете проверить, что видит Vim, выполнив echo $TERM
из сеанса tmux. Он продолжал говорить screen
как значение до тех пор, пока не перезапустил все tmux-процессы, после чего он отразил xterm-256color
, как ожидалось.
Надеюсь, что это поможет.
Ответ 5
Итак, это немного на черновой стороне, но, возможно, стоит упомянуть, что использование экрана часто прерывает ключи Home и End. Используя
export TERM="xterm-256color"
in должен поддерживать функциональность этих функций и позволить цветной схеме (или powerline) работать нормально.
Ответ 6
Мне нужно было, чтобы vim правильно отображался с tmux в терминале на ubuntu и cygwin/mintty на окнах. Я получил его для работы, объединив ответы так.
В .bashrc:
alias tmux="tmux -2"
В .vimrc:
" use 256 colors in terminal
if !has("gui_running")
set t_Co=256
set term=screen-256color
endif
" fix cursor display in cygwin
if has("win32unix")
let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"
endif
основываясь на ответах на этот вопрос, эту вики-страницу Vim и этот вопрос с блочным курсором
Ответ 7
Я пробовал все вышеприведенные инструкции, и я узнал, что самое главное - я должен явно добавить следующую строку в мой .bashrc файл.
export TERM=screen-256color
Я не знаю, почему псевдоним tmux = "TERM = screen-256color-bce tmux" не работает.
Я использую Sierra 10.12.1.
Ответ 8
В случае, если кому-то нужна поддержка 24-битного цвета:
Tmux поддерживает 24-битный цвет с версии 2.2. Если ваш терминал поддерживает 24-битный цвет, добавьте терминал в настройку переопределения терминалов. Например,
set -ga terminal-overrides ",xterm-256color:Tc"
Контрольный список для моей среды:
- macOS Sierra 10.12.3
- iTerm2 3.0.14 (Тип терминала отчета
xterm-256color
)
- neovim 0.1.7 (Включите 24-битный цвет, добавив:
xterm-256color
в .vimrc
)
- tmux 2.3 (Добавить
set -ga terminal-overrides ",xterm-256color:Tc"
в .tmux.conf
)
Больше ничего не нужно добавлять в .bashrc
или .zshrc
.
Надеюсь, это поможет.
Ответ 9
Добавление следующей строки в .tmux.conf для меня с macOS Sierra 10.12.6,
установить -g default-terminal "screen-256color"
Ответ 10
Если вы используете tmuxinator
или mux
, вам нужно добавить их в .bashrc
или .zshrc
:
alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'
Эти силы используют 256-цветный терминал.
Затем будут выполняться команды tmux
, tmuxinator
и mux
.
Ответ 11
Так как это первый результат в Google и так как ничего из вышеперечисленного не помогло.. хотелось опубликовать это, чтобы кто-то мог найти это полезным
в .vimrc
:
set background=dark
set t_Co=256
НТН
Ответ 12
Мне не очень удавалось пытаться экспортировать другой TERM
или установить по умолчанию терминал в .tmux.conf
.
Мое решение для исправления цветов vim в tmux добавляло эту строку к .tmux.conf
:
set -g terminal-overrides 'xterm:colors=88'
Я не уверен, почему это переопределение было необходимо, учитывая, что мой TERM=xterm
, и у меня iTerm установлен на xterm, но он работает.
Ответ 13
На странице управления tmux добавьте флаг следующим образом:
tmux -2
Этот флаг -2
заставляет tmux работать в режиме с 256 цветами.
Это работает для меня
Ответ 14
Чтобы настроить правильный цвет и избавиться от проблемы с рендерингом в Ubuntu и Mac:
проверьте это
Ответ 15
Если вы окажетесь в том же порядке, что и я, что ни одно из вышеприведенных действий не работает. Попробуйте это:
в .tmux.conf
:
set -g default-terminal "xterm"
в bash config (возможно .bashrc
или .bash_profile
):
alias tmux="tmux -2"
а затем запустите:
killall tmux
а затем перезапустите tmux
Ответ 16
Просто пришлось разобраться с этой проблемой, и хотя все ранее опубликованные ответы были полезны, они не решили проблему в моем случае.
Моя проблема была исправлена путем удаления следующей строки в моем .vimrc
:
set termguicolors
который был переделан с другой инструкцией в любом случае.
Теперь со следующей строкой, найденной в предыдущих файлах anwsers в моем .tmux.conf
:
export TERM="screen-256color"
все красиво и красочно.
Ответ 17
Я удалил set termguicolors
, но он не работает. Установка set notermguicolors
вместо этого в .vimrc
работает.