потерять 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-256color
to.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=256
HTH
просто пришлось иметь дело с этой проблемой, и хотя все ранее опубликованные ответы были полезны, они не решили проблему в моем случае.
моя проблема была зафиксирована удаление следующая строка в моем
.vimrc
:set termguicolors
который был redondant с другой инструкцией в любом случае.
теперь, со следующей строкой, найденной в предыдущих anwsers в моем
.tmux.conf
:export TERM="screen-256color"
все красиво и красочно.