tmux
。(内部版本3.0.13)当我在vim
中执行tmux
时,语法高亮显示如下。但是在tmux外部,语法高亮显示很好。
我在tmux内外的
$TERM
是xterm-256color
。我还在.tmux.conf
中添加了set -g default-terminal "screen-256color"
,并在
.vimrc
中添加了此set t_Co=256
set t_AB=m
set t_AF=m
if &term =~ '256color'
set t_ut=
endif
。
我也尝试了
tmux -2
命令并阅读了这些问题。 >这是tmux
,vim
还是我的配置问题?编辑:
我在GitHub Gist中的
.vimrc
https:// gist .github.com / sohnryang / 3c63397f332f2e30c7d7b2a83c3c9f52
#1 楼
好吧,我自己解决了这个问题。@ Carpetsmoker♦评论说,我开始怀疑我的
.vimrc
是个问题。我阅读了这个问题,并在tmux中使用此命令启动了vim。vim -u NONE -U NONE -N ~/.vimrc
在使用上述命令启动vim之后,我在vim中运行了此命令。
:syn on
:colorscheme solarized8_dark
这些突出显示了我的
.vimrc
文件。因此,我开始调试.vimrc
。长话短说,set termguicolors
是问题所在。如果我在set termguicolors
中运行带.vimrc
注释的vim,则可以在tmux中看到已更正的语法突出显示。评论
我遇到过同样的问题。尽管让termguicolors在tmux上工作将是很棒的
–Filype
17年1月26日在11:29
#2 楼
在vim手册中::h termguicolors
建议阅读:h xterm-true-color
Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
and |t_8b| options explicitly. [ ... these are] only set [to some default] when `$TERM` is `xterm`.
我使用类似以下的条件:
if &term =~# '256color' && ( &term =~# '^screen' || &term =~# '^tmux' )
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
endif
评论
这个在NVim上为我工作。在拱门和鱼壳上运行
– olleh
20-4-29在10:27
#3 楼
我实际上使它与termguicolors
一起正常工作。这就是我1。在我的〜/ .bash_profile中,我输入了这个内容:
export TERM=xterm-256color
在我的〜/ .vimrc里面,我有这个
syntax enable
colorscheme Spacegray
set termguicolors
,效果很好!参考
评论
:syn on:colorscheme太空灰:设置termguicolors
–abbood
18年5月9日在15:33
就我而言,它在没有设置termguicolors的情况下运行良好。还是要谢谢你!
–崔圭贤
20-04-19在5:24
评论
当使用-2选项启动tmux时会发生什么:tmux -2。最好是在tmux中没有会话时。我使用了tmux -2,但问题是相同的。
您可以共享整个.vimrc吗?
@sohnryang“也许你不应该”的哪一部分不明白?
请尝试按照以下步骤。您有很多插件,因此其中一个可能会造成干扰。