当我从iterm中的命令行中运行vim时,语法突出显示似乎在本地不起作用。

例如,在VIM中,我安装了一个很好的Colorscheme,它在MacVim中运行良好,但是如果在Iterm中显示出相同的颜色,那将是很棒的。

有什么想法我如何打开它?

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

有帮助吗?

解决方案

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

您可以在VIM中检查此信息:

:echo &t_Co

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

let &t_Co=256

其他提示

为了打开VIM中突出显示的代码,请尝试启用语法插件:

:syntax enable

对于仍然有问题的人。

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

setup

我以前遇到过这个问题,以及一些相关的问题,因此我总结了我发现的问题。

  1. 确保设置为使用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
    

尽管遵循了这个问题(和其他类似)问题的所有建议,但我最终发现了我几年前从网络上从某个地方获得的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

毫不奇怪(回想起来),“设置术语”行会重置事物,因此无论您的终端在术语“环境变量”中报告哪种类型,您都可以使用通用的8色ANSI终端结束。在.vimrc中明确设置“术语”可能是一个非常糟糕的主意,就像直接设置t_co一样。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top