потерять vim colorscheme в режиме tmux
Я запускаю iterm2, и когда я нахожусь в режиме tmux, colorscheme, который я установил в vim, не отображается. Только цветовая схема, которую я установил в iterm. Если я запускаю vim из оболочки, цветовая схема отображается правильно-только когда я нахожусь в режиме tmux.
Я пробовал параметр :colorscheme molokai когда в vim (см. скриншот ниже), и он не меняется - опять же, цветовая схема по умолчанию для iterm2 остается.
Я пропустил некоторые настройки для iterm или tmux.конф? Мои dotfles находятся на github здесь.
16 ответов:
у меня была та же проблема. Только разница была я использую
solarizeа тоmolokai.чтобы устранить проблему, я установил псевдоним в
~/.bashrc:alias tmux="TERM=screen-256color-bce tmux"и создал на
~/.tmux.conf:set -g default-terminal "xterm"и, наконец, сделать
$ source ~/.bashrcдля загрузки нового псевдонима.
как упоминает @romainl выше, мне нужно было заставить tmux использовать 256 цветов, добавив
-2флаг:$ tmux -2добавил
alias tmux='tmux -2'к моему bash_profile, так что, я не забываю:)
Я пробовал все решения выше, и то, что, наконец, сработало для меня, помещает следующие строки в
.tmux.conf:set -g default-terminal "xterm-256color"
я только что обнаружил, почему у меня было много путаницы. Мне, как и другим здесь, было трудно получить настройку терминала по умолчанию, чтобы вступить в силу. Я вспомнил, что у меня был сеанс tmux в фоновом режиме. Я повторно прикрепил свой сеанс, закрыл свои процессы и закрыл все процессы tmux. В следующий раз, когда я перезапустил tmux, настройка терминала по умолчанию в
.tmux.confначал действовать. Я не знаю, делают ли это другие, но я рекомендую закрыть все процессы tmux раньше изменение .я получил мою установку для работы на моей локальной машине (OSX 10.9.5 с iTerm2) без каких-либо изменений в
.bashrcили.bash_profile. Все, что я сделал, это добавил строкуset -g default-terminal "xterm-256color"до~/.tmux.confи перезапустил все процессы tmux.я получил мою удаленную установку (ssh для Ubuntu 14.04), чтобы работать точно так же, без каких-либо изменений в
.bashrc. Я просто добавилset -g default-terminal "xterm-256color"до~/.tmux.confна моей удаленной машине и перезапустить все удаленные tmux процессы.вы можете проверить, что Vim видит, делая
echo $TERMиз сеанса tmux. Он продолжал говоритьscreenкак значение, пока я не перезапустил все процессы tmux, и в этот момент он отразилxterm-256colorкак и ожидалось.надеюсь, что это поможет.
Так что это немного на устаревшей стороне, но, возможно, стоит упомянуть, что использование экрана часто ломает клавиши Home и End. Используя
export TERM="xterm-256color"in должен сохранить функциональность этих и позволить цветовой схеме (или powerline) работать нормально.
мне нужно было vim правильно отображать с tmux в терминале на ubuntu и cygwin/mintty на windows. Я получил его, чтобы работать, комбинируя ответы, как это.
In .bashrc следующее:
alias tmux="tmux -2"In .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 wiki страница и этот вопрос курсора блока
Я пробовал все инструкции выше, и я узнал, что самое главное, что я должен явно добавить следующую строку в моем .файл bashrc.
export TERM=screen-256colorЯ не знаю, почему псевдоним tmux="TERM=screen-256color-bce tmux" не работает. Я использую Sierra 10.12.1.
в случае, если кому-то нужна 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-256colorto.vimrc)- tmux 2.3 (добавить
set -ga terminal-overrides ",xterm-256color:Tc"до.tmux.conf)ничего больше мне не нужно добавить в
.bashrcили.zshrc.надеюсь, что это может помочь.
добавление следующей строки .tmux.conf работал для меня с macOS Sierra 10.12.6,
set-G default-terminal "screen-256color"
если вы используете
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команда будет все работать.
из справочной страницы tmux, добавив флаг следующим образом:
tmux -2этой
-2флаг заставляет tmux работать в 256-цветном режиме.это работает для меня
если вы окажетесь в том же месте, что и я, что ни один из вышеперечисленных не работал.. попробуйте это:
на
.tmux.conf:set -g default-terminal "xterm"в bash config (возможно
.bashrcили.bash_profile):alias tmux="tmux -2"и затем выполнить:
killall tmuxа затем перезапустить tmux
мне не очень повезло, пытаясь экспортировать другой
TERMили установить default-terminal в my.tmux.conf.мое решение для фиксации цветов vim в tmux добавляло эту строку в
.tmux.conf:set -g terminal-overrides 'xterm:colors=88'Я не уверен, почему это переопределение было необходимо, учитывая, что мой
TERM=xtermи у меня есть iTerm установлен в xterm, а также, но это, кажется, работает.
Так как это первый результат на Google и так как ни один из вышеперечисленных не помог..хотел опубликовать это, чтобы кто-то мог найти его полезным
на
.vimrc:set background=dark set t_Co=256HTH
просто пришлось иметь дело с этой проблемой, и хотя все ранее опубликованные ответы были полезны, они не решили проблему в моем случае.
моя проблема была зафиксирована удаление следующая строка в моем
.vimrc:set termguicolorsкоторый был redondant с другой инструкцией в любом случае.
теперь, со следующей строкой, найденной в предыдущих anwsers в моем
.tmux.conf:export TERM="screen-256color"все красиво и красочно.