为什么我的vim主题没有出现在标准vim(不是mvim)中?

为什么我的vim主题没有出现在标准vim(不是mvim)中?,vim,Vim,我使用主题。我以前使用的是macvim,但是切换到标准vim,没有看到我的正常语法高亮显示。有办法让它工作吗 我已经确认:colorscheme是madeofcode,以及echo$g:colors\u name。谢谢。那么它可能会出现,但你可能会 没有定义ctermfg,ctermbg等(只是guifg/guibg) 终端可能无法显示所有颜色 另见 16。颜色xterm*xterm颜色**Color xterm* Most color xterms have only eight col

我使用主题。我以前使用的是macvim,但是切换到标准vim,没有看到我的正常语法高亮显示。有办法让它工作吗


我已经确认:colorscheme是madeofcode,以及echo$g:colors\u name。谢谢。

那么它可能会出现,但你可能会

  • 没有定义
    ctermfg
    ctermbg
    等(只是
    guifg
    /
    guibg
  • 终端可能无法显示所有颜色
另见

16。颜色xterm
*xterm颜色**Color xterm*

Most color xterms have only eight colors.  If you don't get colors with the
default setup, it should work with these lines in your .vimrc: >
   :if &term =~ "xterm"
   :  if has("terminfo")
   :  set t_Co=8
   :  set t_Sf=<Esc>[3%p1%dm
   :  set t_Sb=<Esc>[4%p1%dm
   :  else
   :  set t_Co=8
   :  set t_Sf=<Esc>[3%dm
   :  set t_Sb=<Esc>[4%dm
   :  endif
   :endif
< [<Esc> is a real escape, type CTRL-V <Esc>]

You might want to change the first "if" to match the name of your terminal,
e.g. "dtterm" instead of "xterm".

Note: Do these settings BEFORE doing ":syntax on".  Otherwise the colors may
be wrong.
大多数颜色XTERM只有八种颜色。如果你没有得到颜色和颜色
默认设置,它应该与您的.vimrc:>
:if&term=~“xterm”
:如果有(“terminfo”)
:设置t_Co=8
:设置t_Sf=[3%p1%dm
:设置t_Sb=[4%p1%dm
:其他
:设置t_Co=8
:设置t_Sf=[3%dm
:设置t_Sb=[4%dm
:endif
:endif
<[是真正的转义,键入CTRL-V]
您可能希望更改第一个“if”以匹配终端的名称,
e、 g.“dtterm”而不是“xterm”。
注意:在执行“:syntax on”之前执行这些设置,否则颜色可能会
我错了。


键入
:echo&term
要了解您的
&term
,也可以在Terminal.app中尝试
$echo$term
,查看是否相同,以防万一

您需要的
$TERM/&TERM
xterm-256color

您可以从Terminal.app的首选项设置它,也可以从Vim内部设置它,如在sehe的回答中,或者在实际启动Vim时作为参数:
Vim-T xterm-256color


不过,请注意,尝试使用与terminal.app声明的终端类型不同的终端类型肯定会搞乱很多事情,包括颜色和键图。

对不起,在我在评论中注意到您使用的是OS x之前,我在下面写下了答案。我想,这是一个不同的蜡球,我记得在这个问题上看到了相当长的SO线程OS X上的终端问题…尽管此线程似乎表明我的解决方案使用iTerm工作:


这也可能有效,并且比更改终端类型更可取。只需在任何
colorscheme
命令之前将下面的行放在vimrc中。您的xterm应该支持256色,至少我在Ubuntu中支持:

let &t_Co=256
如果问题是xterm默认颜色太少,那么这应该可以解决问题,在应用上述修复之前,您可以通过在终端中执行
:echo&t_Co
来确认。如果当前的数字小于256,则应该会有所帮助

我认为在另一个答案中引用的有关颜色xterm的帮助部分一定很旧。我在Ubuntu上的xterm支持256色,只要我执行上面的
set t_Co=256
或等效let语句,并且维基百科指出xterm支持256色:


这给了我一些颜色,但仍然是一个很小的子集。我不确定我的&term字符串是什么(我正在OS X Lion上运行vim 7.3.3),所以我只是删除了这个条件。其余的是给我一个子集的颜色。有什么想法吗?谢谢。或者这是正确的工作,主题只是需要不再可用的颜色吗?你链接的颜色方案是一个GUI专用的颜色方案。突出显示定义中缺少
术语
。有没有办法将其更改为术语主题?您可以使用类似csappro.vim的插件对其进行粗略转换,但结果并不总是那么好。好的,很好。我尝试过,但它抱怨需要