当我在iTerm的命令行中运行vim时,语法突出显示在本地似乎不起作用。iterm vim colorscheme无法正常工作
在vim中,例如,我安装了一个很好的颜色配方,在MacVim中运行得非常好,但如果在iTerm中显示的颜色相同,它会很好。
任何想法,我可以打开它?
这是我尝试使用 http://www.vim.org/scripts/script.php?script_id=2340
当我在iTerm的命令行中运行vim时,语法突出显示在本地似乎不起作用。iterm vim colorscheme无法正常工作
在vim中,例如,我安装了一个很好的颜色配方,在MacVim中运行得非常好,但如果在iTerm中显示的颜色相同,它会很好。
任何想法,我可以打开它?
这是我尝试使用 http://www.vim.org/scripts/script.php?script_id=2340
那配色方案看起来像它只支持256色终端。如果Vim认为你的终端只支持8种颜色,你将不会看到特定的配色方案。
您可以通过在Vim的检查:
:echo &t_Co
如果返回8
,这可能是问题。尝试在~/.vimrc
将它设置为256,并看看是否有帮助:
let &t_Co=256
为了将代码在vim高亮显示,尝试启用的语法插件的配色方案:
:syntax enable
在一个侧面说明,许多计划都为gVim的/的MacVim制成,不一定在终端内部全部显示。 – Sean 2010-09-22 02:20:10
将不带引号的“syntax on”添加到.vimrc文件中以使其永久保存 – sarathprasath 2015-02-10 11:29:29
我有这个问题之前,以及一些相关的问题,所以我会总结我发现了什么。
确保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
尽管在这之后所有的意见(和其他类似的)问题,我终于找到了我的麻烦我从什么地方采取在网络上的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中,它们属于哪个位置),并且从此以后,所有内容都正常工作。
我会假定在iTerm中必须有一些设置,以允许256种颜色? – 2010-09-22 11:25:20
不错的一个工作完美 – 2010-09-22 11:26:37
在10.6默认终端下不适用于我。它导致文本vim闪烁黑白。 – 2010-12-10 00:42:33