题
当我从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
我以前遇到过这个问题,以及一些相关的问题,因此我总结了我发现的问题。
确保设置为使用256种颜色。尝试
$ echo $TERM
在命令行,如果您看不到xterm-256color
然后遵循指示 在这个答案中.设置您的
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,它们所属的位置),从那以后,一切都为我工作正常。