我正在运行iterm2,当我在tmux模式下,我在vim中设置的配色方案不显示。只有我设定的配色方案。如果我从shell运行vim,配色方案显示正确-只有当我在tmux模式。
我尝试过在vim中设置:colorscheme molokai(见下面的截图),它没有改变-再次,iterm2的默认配色方案保持不变。
我是否遗漏了对iterm或tmux.conf的一些设置?我的图都在github上。
我正在运行iterm2,当我在tmux模式下,我在vim中设置的配色方案不显示。只有我设定的配色方案。如果我从shell运行vim,配色方案显示正确-只有当我在tmux模式。
我尝试过在vim中设置:colorscheme molokai(见下面的截图),它没有改变-再次,iterm2的默认配色方案保持不变。
我是否遗漏了对iterm或tmux.conf的一些设置?我的图都在github上。
当前回答
为了在Ubuntu和Mac中设置正确的颜色并解决渲染问题:
检查这个
其他回答
在我的.tmux.conf中,我并没有尝试导出一个不同的TERM或设置默认终端。
我在tmux中修复vim颜色的解决方案是在.tmux.conf中添加这一行:
set -g terminal-overrides 'xterm:colors=88'
我不确定为什么需要这种重写,因为我的TERM=xterm,我也将iTerm设置为xterm,但它似乎是有效的。
如果你使用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命令都将工作。
我使用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
我已经尝试了上面所有的指令,我发现最重要的事情是我必须显式地在我的.bashrc文件中添加以下一行。
export TERM=screen-256color
我不知道为什么别名tmux="TERM=screen-256color-bce tmux"不工作。 我使用的是Sierra 10.12.1。
在我的.tmux.conf中使用这两行对我来说是有效的,我使用的是带有Alacritty的Ubuntu 20.04。
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",alacritty:RGB"
在一篇关于alacitty回购的文章中找到了它们,在YodaEmbedding提供的评论中:
https://github.com/alacritty/alacritty/issues/109