Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在tmux模式下丢失vim colorscheme_Macos_Vim_Tmux_Iterm - Fatal编程技术网

Macos 在tmux模式下丢失vim colorscheme

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使用

我正在运行iterm2,当我处于tmux模式时,我在vim中设置的配色方案不会显示。只有我在iterm中设置的配色方案。如果我从shell运行vim,则colorscheme显示正确-只有在tmux模式下才正确

我尝试在vim中设置
: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
    中添加:
    xterm-256color
    来启用24位颜色)
  • 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"
一切都很好