потерять vim colorscheme в режиме tmux


Я запускаю iterm2, и когда я нахожусь в режиме tmux, colorscheme, который я установил в vim, не отображается. Только цветовая схема, которую я установил в iterm. Если я запускаю vim из оболочки, цветовая схема отображается правильно-только когда я нахожусь в режиме tmux.

Я пробовал параметр :colorscheme molokai когда в vim (см. скриншот ниже), и он не меняется - опять же, цветовая схема по умолчанию для iterm2 остается.

Я пропустил некоторые настройки для iterm или tmux.конф? Мои dotfles находятся на github здесь.

16 199

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 команда будет все работать.

чтобы настроить правильный цвет и избавиться от проблемы рендеринга как в Ubuntu, так и в Mac:

проверить это

из справочной страницы 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"

все красиво и красочно.