Macos 在tmux模式下丢失vim colorscheme
我正在运行iterm2,当我处于tmux模式时,我在vim中设置的配色方案不会显示。只有我在iterm中设置的配色方案。如果我从shell运行vim,则colorscheme显示正确-只有在tmux模式下才正确 我尝试在vim中设置Macos 在tmux模式下丢失vim colorscheme,macos,vim,tmux,iterm,Macos,Vim,Tmux,Iterm,我正在运行iterm2,当我处于tmux模式时,我在vim中设置的配色方案不会显示。只有我在iterm中设置的配色方案。如果我从shell运行vim,则colorscheme显示正确-只有在tmux模式下才正确 我尝试在vim中设置:colorscheme(参见下面的屏幕截图),但它没有改变-同样,iterm2的默认colorscheme保持不变 我是否缺少iterm或tmux.conf的一些设置?我的点在github上。正如@Romaill在上面提到的,我需要通过添加-2标志来强制tmux使用
:colorscheme
(参见下面的屏幕截图),但它没有改变-同样,iterm2的默认colorscheme保持不变
我是否缺少iterm或tmux.conf的一些设置?我的点在github上。正如@Romaill在上面提到的,我需要通过添加
-2
标志来强制tmux使用256色:
$ tmux -2
我将
别名tmux='tmux-2'
添加到我的bash_配置文件中,因此,我不会忘记:)我也遇到了同样的问题。唯一的区别是我使用的是solarize
,而不是molokai
为了解决这个问题,我在~/.bashrc
中设置了一个别名:
alias tmux="TERM=screen-256color-bce tmux"
alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'
set background=dark
set t_Co=256
set termguicolors
并在~/.tmux.conf
中设置默认终端
选项:
set -g default-terminal "xterm"
set -g default-terminal "xterm-256color"
set -g terminal-overrides 'xterm:colors=88'
export TERM="screen-256color"
最后,执行
$source~/.bashrc
加载新别名。因此这有点过时,但值得一提的是,使用screen通常会破坏主键和结束键。使用
export TERM="xterm-256color"
在中,应保留这些功能,并允许配色方案(或电源线)正常工作。我尝试了上述所有解决方案,最终对我有效的是将以下几行放入
.tmux.conf
:
set -g default-terminal "xterm"
set -g default-terminal "xterm-256color"
set -g terminal-overrides 'xterm:colors=88'
export TERM="screen-256color"
尝试导出不同的
术语
或在.tmux.conf
中设置默认终端时,我运气不太好
我在tmux中修复vim颜色的解决方案是将这一行添加到.tmux.conf
:
set -g default-terminal "xterm"
set -g default-terminal "xterm-256color"
set -g terminal-overrides 'xterm:colors=88'
export TERM="screen-256color"
考虑到我的
TERM=xterm
,我也将iTerm设置为xterm,我不确定为什么需要这个覆盖,但它似乎可以工作。我刚刚发现了为什么我有很多困惑。一、 和这里的其他人一样,我们很难让默认的终端设置生效。我记得我在后台有一个tmux会话。我重新连接了会话,关闭了进程,并关闭了所有tmux进程。下次重新启动tmux时,.tmux.conf
中的默认终端设置开始生效。我不知道其他人是否也在这样做,但我建议在修改.tmux.conf
文件之前关闭所有tmux进程
我的设置可以在本地机器上运行(OSX 10.9.5,带有iTerm2),而无需对.bashrc
或.bash\u profile
进行任何修改。我所做的只是将行set-g default terminal“xterm-256color”
添加到~/.tmux.conf
并重新启动所有tmux进程
我的远程设置(ssh到Ubuntu 14.04)的工作方式完全相同,没有对.bashrc
进行任何修改。我只是简单地将set-g默认终端“xterm-256color”
添加到远程机器上的~/.tmux.conf
,并重新启动了所有远程tmux进程
您可以通过在tmux会话中执行echo$TERM
来测试Vim看到了什么。它一直说screen
作为值,直到我重新启动了所有tmux进程,这时它反映了xterm-256color
希望有帮助。从tmux手册页,添加如下标志:
tmux -2
此-2
标志强制tmux在256色模式下运行
这对我来说很有用我需要vim在ubuntu终端上用tmux正确显示,在windows上用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
根据此问题的答案,如果您使用
tmuxinator
或mux
,则需要将其添加到.bashrc
或.zshrc
:
alias tmux="TERM=screen-256color-bce tmux"
alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'
set background=dark
set t_Co=256
set termguicolors
这些强制在终端中使用256色
然后
tmux
,tmuxinator
和mux
命令将全部工作。为了设置正确的颜色并消除Ubuntu和Mac中的渲染问题:
如果你发现自己的处境和我一样,那么上述任何一项都不起作用。。试试这个: 在
.tmux.conf
中:
set -g default-terminal "xterm"
在bash配置文件中(可能是.bashrc
或.bash\u配置文件
):
然后运行:
killall tmux
然后重新启动tmux我已经尝试了上面的所有说明,我发现最重要的是我必须在.bashrc文件中显式添加以下行
export TERM=screen-256color
我不知道为什么别名tmux=“TERM=screen-256color-bce-tmux”不起作用。
我使用Sierra 10.12.1。以防任何人需要24位颜色支持: 从版本2.2开始,Tmux支持24位颜色。如果终端支持24位颜色,请将终端添加到“终端覆盖”设置中。比如说,
set -ga terminal-overrides ",xterm-256color:Tc"
我的环境清单:
- macOS Sierra 10.12.3
- iTerm2 3.0.14(报告终端类型为
)xterm-256color
- neovim 0.1.7(通过在
中添加:.vimrc
来启用24位颜色)xterm-256color
- tmux 2.3(将
添加到set-ga终端覆盖”,xterm-256color:Tc“
).tmux.conf
.bashrc
或.zshrc
中添加任何其他内容
希望这能有所帮助。在.tmux.conf中添加以下行对我使用macOS Sierra 10.12.6很有效
设置-g默认终端“screen-256color”,因为这是Google上的第一个结果,而且上面的结果都没有帮助。想发布此结果,以便有人发现它有帮助 在
.vimrc
中:
alias tmux="TERM=screen-256color-bce tmux"
alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'
set background=dark
set t_Co=256
set termguicolors
HTH必须处理这个问题,尽管之前发布的所有答案都很有用,但它们并没有解决我的问题 通过删除
.vimrc
中的以下行,解决了我的问题:
alias tmux="TERM=screen-256color-bce tmux"
alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'
set background=dark
set t_Co=256
set termguicolors
不管怎么说,这对另一条指令来说是很重要的
现在,在my.tmux.conf
中的先前Anwser中找到以下行:
set -g default-terminal "xterm"
set -g default-terminal "xterm-256color"
set -g terminal-overrides 'xterm:colors=88'
export TERM="screen-256color"
一切都很好