iterm vim colorscheme无法正常工作

Der*_*gan 31 macos vim iterm

当我从iTerm的命令行运行vim时,语法高亮似乎不能在本地工作.

例如,在vim中,我已经安装了一个很好的colorscheme,在MacVim中运行得很好但是如果在iTerm中显示相同的那个,它会很棒.

我有什么想法可以打开这个?

这是我试图使用的配色方案 http://www.vim.org/scripts/script.php?script_id=2340

Cur*_*son 79

该配色方案看起来只支持256色终端.如果Vim认为您的终端仅支持8种颜色,您将看不到特定的配色方案.

你可以在Vim中查看:

:echo &t_Co
Run Code Online (Sandbox Code Playgroud)

如果返回8,这可能是问题所在.尝试将其设置为256 ~/.vimrc并查看是否有帮助:

let &t_Co=256
Run Code Online (Sandbox Code Playgroud)

  • 新版本的iTerm2现在可以正确设置TERM = xterm-256color,因此如果您有最新的版本,vim应该知道支持的颜色数是否正确而不设置任何变量.否则,您可以在"终端"选项卡下的iTerm首选项中设置此值. (7认同)
  • 嗯.我有最新版的iTerm2.`echo&t_Co`报告256.我仍然没有得到相同的语法突出显示MacVim自动获取. (2认同)

Sea*_*ean 73

要在vim中打开代码突出显示,请尝试启用语法插件:

:syntax enable
Run Code Online (Sandbox Code Playgroud)

  • 将没有引号的"语法"添加到.vimrc文件中以使其永久化 (8认同)

小智 20

对那些仍然有问题的人.

iTerm 2 - >首选项 - >配置文件 - >颜色 - >最小对比度 - >最低

建立


Dea*_*ean 12

我之前遇到过这个问题,以及一些相关问题,所以我将总结一下我发现的问题.

  1. 确保iTerm设置为使用256色.尝试$ echo $TERM在命令行,如果您没有看到,请xterm-256color按照此答案中的说明进行操作.

  2. 设置你也vimrc可以处理其他终端.Snow Leopard中的常规终端仅支持8种颜色,如果您尝试使用256色配色方案,则会闪烁(在这种情况下我只是没有设置).这就是我所拥有的:

    " enable 256 colors in GNOME terminal (for my Ubuntu VM)
    if $COLORTERM == 'gnome-terminal'
        set t_Co=256
    endif
    
    " set your color scheme (replace wombat with whatever yours is called)
    " if you're using a gvim or macvim, then your color scheme may have a version
    " that uses more than 256 colors
    if has("gui_running")
        colorscheme wombat
    elseif &t_Co == 256
        colorscheme wombat256
    endif
    
    " turn on language specific syntax highlighting
    syntax on
    
    Run Code Online (Sandbox Code Playgroud)