iterm vim colorscheme无法正常工作

时间:2010-09-21 15:21:02

标签: macos vim iterm

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

在vim例如,我已经安装了一个很好的colorscheme,在MacVim中工作得很好但是如果在iTerm中显示相同的那个会很好。

我有什么想法可以启用它吗?

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

6 个答案:

答案 0 :(得分:78)

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

您可以在Vim中查看:

:echo &t_Co

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

let &t_Co=256

答案 1 :(得分:68)

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

:syntax enable

答案 2 :(得分:19)

对那些仍然有问题的人。

iTerm 2 - >偏好 - >个人资料 - >颜色 - >最小对比度 - >最低

setup

答案 3 :(得分:11)

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

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

  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
    

答案 4 :(得分:3)

尽管在这个(以及其他类似的)问题中遵循了所有的建议,但我最终在几年前从网上的某个地方取得的vimrc的一个被遗忘的部分找到了麻烦(因为它组织得非常好),然后根据我自己的目的进行了大量修改。

但问题区域是我从未接触过的一小组设置,回到我开始的原始文件中。 .vimrc的相关位是:

   " GVIM- (here instead of .gvimrc)
   if has('gui_running')
          set guioptions-=T               " remove the toolbar
          set lines=40                    " 40 lines of text instead of 24,
   else
           set term=builtin_ansi       " Make arrow and other keys work
   endif

不出所料(回想起来),“设置术语”行会重置事物,这样无论您的终端在TERM环境变量中报告什么类型,您最终都会使用通用的8色ANSI终端。在.vimrc中明确设置'term'可能是一个非常糟糕的主意,就像直接设置t_Co一样。

我删除了整个块(并将gvim设置放入.gvimrc,它们属于的地方),从那以后,一切都在为我正常工作。

答案 5 :(得分:0)

在这里尝试了所有其他答案之后,我需要的最后一件事是:

set termguicolors