我正在运行iterm2,当我在tmux模式下,我在vim中设置的配色方案不显示。只有我设定的配色方案。如果我从shell运行vim,配色方案显示正确-只有当我在tmux模式。

我尝试过在vim中设置:colorscheme molokai(见下面的截图),它没有改变-再次,iterm2的默认配色方案保持不变。

我是否遗漏了对iterm或tmux.conf的一些设置?我的图都在github上。


当前回答

在macOS Sierra 10.12.6下,在.tmux.conf中添加以下一行对我来说是有效的,

Set -g default-terminal "screen-256color"

其他回答

我尝试了上面所有的解决方案,最后对我有用的是在.tmux.conf中放入以下几行:

set -g default-terminal "xterm-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命令都将工作。

假设你已经有了与终端相匹配的vim颜色:

运行tmux Kill -server终止所有tmux会话 在~/.tmux.conf中为tmux创建一个用户配置文件 在.tmux.conf文件中添加以下代码行: 设置-g default-terminal "tmux-256color" set -ga terminal-override ",xterm-termite:Tc" 在命令行中运行echo $TERM 用echo $TERM返回的输出替换xterm-termite

这有点过时,但值得一提的是,使用screen通常会破坏Home和End键。使用

export TERM="xterm-256color"

它应该保持这些功能,并允许配色方案(或电力线)工作良好。

我使用gnome终端,这解决了问题,但(0)不要忘记:

killall tmux

(1)编辑.tmux.conf

# 24 bit color
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"

(2)编辑:.vimrc

" Enable true color
if exists('+termguicolors')
  let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
  let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
  set termguicolors
endif

rinetd发布的关于tmux回购问题的解决方案: https://github.com/tmux/tmux/issues/1246