在使用Solarized的iTerm2中vim的颜色不正确
iTerm2在terminalvim(non-gui)和日光色配scheme中遇到了一个奇怪的问题。 首先,我已经设置了iTerm2使用黑暗的日光色配色scheme。
我也使用solarized for vim。 我的.vimrc中有以下几行
set background=dark colorscheme solarized
在terminal的颜色scheme看起来不正确:
作为参考,这是如何看起来在MacVim(gui vim)
我需要改变iTerm或我的.vimrc,以获得在我的控制台vim正确的颜色?
一些事情要检查:
-
在iTerm2中,在“terminal仿真”下的“首选项 – >configuration文件 – >terminal”中,将“报告terminaltypes:”设置为xterm-256color。
-
在你的.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仿真器。
- 转到iterm2-colors-solarized github页面
- 按照“安装”下的说明进行操作
- 确保你的.vimrc文件中的
colorscheme solarized
这应该使iTerm2中的vim颜色与gui编辑器中的vim颜色一致。
我在OSX 10.11.6,iTerm2 Build 3.0.12上也遇到了同样的问题。
这是我的解决办法。
-
的.vimrc
语法启用set background = dark colorscheme solarized
-
将报告terminaltypes设置为
xterm-256color
。
- 将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文件。