在tmux,iterm,osx

时间:2016-09-13 14:31:02

标签: vim tmux

在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

without tmux

set -g default-terminal "xterm"
set -g default-terminal "screen-256color"

with `set -g default-terminal "xterm"

tmuxtmux -2TERM未设置

with tmux

我可能还值得注意的是,我正在使用vim的base16-eighties dark colorscheme,并且对于终端vim的base16主题的推荐,我使用了iTerm的base16主题(base16-eighties.dark.256 )。我也在OSX上。

更新:我已经尝试通过base16-shell存储库更新终端的colorscheme。在tmux中运行其colortest脚本文件似乎输出完美,如下图所示

base16-shell colortest output

这是通过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屏幕截图。

0 个答案:

没有答案