当我从iTerm的命令行运行vim时,语法高亮似乎不能在本地运行。
在vim例如,我已经安装了一个很好的colorscheme,在MacVim中工作得很好但是如果在iTerm中显示相同的那个会很好。
我有什么想法可以启用它吗?
这是我尝试使用的配色方案 http://www.vim.org/scripts/script.php?script_id=2340
答案 0 :(得分:78)
该配色方案看起来只支持256色终端。如果Vim认为您的终端仅支持8种颜色,您将看不到特定的配色方案。
您可以在Vim中查看:
:echo &t_Co
如果返回8
,则可能是问题所在。尝试在~/.vimrc
中将其设置为256,看看是否有帮助:
let &t_Co=256
答案 1 :(得分:68)
要在vim中打开代码突出显示,请尝试启用语法插件:
:syntax enable
答案 2 :(得分:19)
答案 3 :(得分:11)
我之前遇到过这个问题,以及一些相关问题,所以我会总结一下我发现的问题。
确保iTerm设置为使用256色。在命令行尝试$ echo $TERM
,如果您没有看到xterm-256color
,请按照in this answer的说明进行操作。
设置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