在tmux中使用终端Vim(好吧,neovim但似乎都有问题)时,我无法正确显示我的colorschemes。
我已将iterm设置为报告终端类型为screen-256color
在iTerm中以bash运行echo $TERM
期望获得screen-256color
输入tmux时,在iTerm中运行echo $TERM
会产生screen
。
我的.bash_profile
和.tmux.conf
文件都没有尝试设置TERM
变量。我在其他帖子中尝试了有关它的建议解决方案,但他们没有修复它,例如
我alias tmux="TERM=screen-256color-bce tmux"
中的.bash_profile
和/或
我set -g default-terminal "xterm"
.tmux.conf
尽管如此,从阅读其他几种解决方案来看,这似乎是错误的方法。解决问题,即iTerm应该设置TERM
变量,并且TERM
变量应该设置为screen
,以便在tmux中运行所有程序。
以下是一些截图 没有tmux
set -g default-terminal "xterm"
或
与set -g default-terminal "screen-256color"
tmux
或tmux -2
和TERM
未设置
我可能还值得注意的是,我正在使用vim的base16-eighties dark colorscheme,并且对于终端vim的base16主题的推荐,我使用了iTerm的base16主题(base16-eighties.dark.256 )。我也在OSX上。
更新:我已经尝试通过base16-shell存储库更新终端的colorscheme。在tmux中运行其colortest
脚本文件似乎输出完美,如下图所示
这是通过iTerm报告xterm-256color
运行的,其中包含16到80年代的深色调,以及set-option -g default-terminal "screen-256color"
中带有选项.tmux.conf
的tmux
我尝试使用以下vimrc再次运行(干净,没有插件,并且最低限度重现上面显示的图像)
set number " line numbers
if filereadable(expand("~/.vimrc_background"))
let base16colorspace=256
source ~/.vimrc_background
endif
" Theming
let base16colorspace=256
syntax enable
colorscheme base16-eighties
set background=dark
但它仍然看起来像上面显示的最后一个vim屏幕截图。