33

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

例如,在 vim 中,我安装了一个很好的配色方案,它在 MacVim 中运行良好,但如果在 iTerm 中显示相同的配色方案,那就太好了。

有什么想法可以打开它吗?

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

4

7 回答 7

79

为了在 vim 中打开代码高亮,请尝试启用语法插件:

:syntax enable
于 2010-09-22T02:19:09.443 回答
79

该配色方案看起来只支持 256 色终端。如果 Vim 认为你的终端只支持 8 种颜色,你就不会看到那个特定的配色方案。

你可以通过以下方式在 Vim 中检查:

:echo &t_Co

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

let &t_Co=256
于 2010-09-22T03:02:48.620 回答
27

对于那些仍然有问题的人。

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

设置

于 2016-03-15T13:01:17.180 回答
13

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

  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
    
于 2012-04-27T01:51:58.100 回答
4

尽管遵循了这个(以及其他类似)问题中的所有建议,但我最终还是在几年前从网络上某个地方获取的 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 中),从那以后一切都对我正常工作。

于 2012-08-02T00:10:37.473 回答
2

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

set termguicolors
于 2020-09-25T18:55:40.860 回答
1

编辑 sudo vim ~/.vimrc 并添加“syntax on”应该可以解决问题。

于 2021-12-29T18:24:13.300 回答