在使用Solarized的iTerm2中vim的颜色不正确

iTerm2在terminalvim(non-gui)和日光色配scheme中遇到了一个奇怪的问题。 首先,我已经设置了iTerm2使用黑暗的日光色配色scheme。

我也使用solarized for vim。 我的.vimrc中有以下几行

set background=dark colorscheme solarized 

在terminal的颜色scheme看起来不正确: 控制台vim

作为参考,这是如何看起来在MacVim(gui vim) gui vim

我需要改变iTerm或我的.vimrc,以获得在我的控制台vim正确的颜色?

一些事情要检查:

  1. 在iTerm2中,在“terminal仿真”下的“首选项 – >configuration文件 – >terminal”中,将“报告terminaltypes:”设置为xterm-256color。

  2. 在你的.vimrc中,你也可以设置一些选项来确保它使用256种颜色:

     设置背景=黑暗
     “solarized选项 
    让g:solarized_visibility =“high”
    让g:solarized_contrast =“high”
    颜色scheme日光
    

    其中之一应该工作,但首先#1。

但是,如果您使用的是Snow Leopard中内置的默认设置,它将无法工作,因为它不支持256色。 我相信狮子内置的版本呢。

编辑:基于这个答案的几个意见,我已经从上面的.vimrc示例中删除let g:solarized_termcolors = 256行。 看起来可能是一些问题。 另一个说,添加行let g:solarized_termcolors = 16固定了一个彩色显示问题。 你自己的里程可能有所不同

第二编辑:如果您已经将日光调色板加载到iTerm2中,则必须let g:solarized_termcolors=16 。 如果使用日光调色板作为iTerm2颜色预设,请仅let g:solarized_termcolors=256

上面的答案对我来说不起作用。

我在OS X 10.7.4上使用vim 7.3的iTerm2。

如果上述解决scheme也不适合您,请尝试此操作

 syntax on set background=dark let g:solarized_termtrans = 1 colorscheme solarized 

更新:根据吉姆·斯图尔特,这也适用于凯蒂 。

https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

下载Solarized软件包( https://github.com/altercation/solarized )并按照说明操作:

打开iTerm 2,打开首选项,点击首选项工具栏中的“configuration文件”(以前的地址,以前的书签)图标,然后select“颜色”选项卡。 点击“加载预设”并select“导入…”。 selectSolarized Light或Dark主题文件。

您现在已经将Solarized颜色预设加载到iTerm 2中,但尚未应用它们。 要应用它们,只需从左侧的configuration文件列表窗口中select一个现有的configuration文件,或者创build一个新的configuration文件。 然后从“Load Presets”下拉菜单中select“Solarized Dark”或“Solaroid Light”预设。

====================================

要么:

 cd ~/.vim/bundle git clone git://github.com/altercation/vim-colors-solarized.git 

修改.vimrc

黑暗主题:

 syntax enable set background=dark colorscheme solarized 

 syntax enable set background=light colorscheme solarized 

这在iTerm 2以及terminal的OS X 10.9.1中适用于我。 我犯的一个错误是在termtrans和termcolors设置之前加上colorscheme声明(我需要这两个才能使它工作)。 正如其他人所说,我把我的terminaltypes设置为xterm-256color

 if !has("gui_running") let g:solarized_termtrans=1 let g:solarized_termcolors=256 endif colorscheme solarized set background=dark 

从创作者: http : //ethanschoonover.com/solarized/vim-colors-solarized

terminal用户须知:

如果您要在terminal模式下使用Solarized(即不是在像gvim或macvim这样的GUI版本中),请考虑设置terminal模拟器的颜色scheme来使用Solarized调色板。 我已经包含了一些受欢迎的terminal仿真器的调色板,以及从Solarized主页下载的官方Solarized下载的Xdefaults。 如果您使用没有这些颜色的Solarized,则需要告知Solarized将其颜色分解为与有限的256个terminal调色板兼容的设置(而通过使用terminal的16个ansi颜色值,可以为Solarized设置正确的特定值调色板)。

如果你使用自定义terminal颜色,solarized.vim应该为你开箱即用。 如果您使用的是支持256色的terminal仿真器,并且不想使用自定义的Solarizedterminal颜色,则需要使用降级的256色配色。 为此,只需在colorschem日光线之前添加以下行:

let g:solarized_termcolors=256

同样,我build议只需手动或通过可用于导入的许多terminalscheme之一将terminal颜色更改为Solarized值。

比尔·特纳的答案是有效的,但是有一种方法可以使颜色与MacVim完全匹配。 Solarized支持专门为iTerm2等terminal仿真器。

  1. 转到iterm2-colors-solarized github页面
  2. 按照“安装”下的说明进行操作
  3. 确保你的.vimrc文件中的colorscheme solarized

这应该使iTerm2中的vim颜色与gui编辑器中的vim颜色一致。

我在OSX 10.11.6,iTerm2 Build 3.0.12上也遇到了同样的问题。

这是我的解决办法。

  1. 的.vimrc

    语法启用set background = dark colorscheme solarized

  2. 将报告terminaltypes设置为xterm-256color

在这里输入图像说明

  1. 将configuration文件中的预设颜色设置为Solarized Dark

在这里输入图像说明

解决这个问题的一个简单的方法是:

在vim-color-solarized的颜色目录中存在一个名为“solarozed.vim”的arquive

打开这个文件并search:
exe“let s:bg_back ='”.s:vmode。“bg =”。s:back。“'”

replace为:
exe“let s:bg_back ='”.s:vmode。“bg =”。s:none。“'”

我尝试了以前的所有build议。 我刚添加set t_Co=256到.vimrc,它是固定的。 我不需要创build一个tmux别名或更改我的configuration文件。