When I open up a file in macvim it is like this http://imgur.com/a/3cLqB#0. I have set ,V
to :source ~/.vimrc<CR>
.
After I have this file open, I press ,V
, and the syntax highlighting changes to this http://imgur.com/a/3cLqB#1. The difference is that (
, )
, ;
, ,
become from blue, white, and ->
, .
, ?
become from blue, darker blue. Why does that happen? This is my vimrc file https://gist.github.com/pvinis/4979592
更新 : 我 发现 Valloric/vim-operator-highlight
是 改变 颜色 的 插件 。 所以 第 一 张 图片 是 正确 的 图片 。 我 还 发现 , 只要 我 做 :syntax on
, 颜色 重置 。 有 没有 办法 检查 语法 是否 已经 打开 ?
8条答案
按热度按时间htzpubme1#
这对我有用
r1zhe5dt2#
我完全不知道为什么,(可能是因为手动执行
:source ~/.vimrc
工作的相同原因),但对我来说,替换与
已修复问题。
gr8qqesn3#
autocmd BufWritePost *vimrc,*exrc :call feedkeys(":source %\<cr>")
我马上修复了它。一定是一些奇怪的问题与排序。我也有一个按键资源的文件,这 * 总是 * 工作,即使当autocmd失败。
rlcwz9us4#
最有可能与您的特定情况无关,但我有一个类似的问题,所以我想我会分享,因为这是第一个StackOverflow结果在谷歌上。
我的重装问题分为两个阶段:使用深色Solarized主题,重新加载
.vimrc
会首先稍微改变颜色,然后,第二次重新加载,它会切换到浅色Solarized主题。我的
.vimrc
中关于颜色的行是:问题是,第一行不应该有引号:
我现在可以重新加载
.vimrc
而不改变颜色。我不知道为什么它会工作一次,但工作后的不同方式。我意识到,在注解掉一切,但这些行,因为其他人已经建议。v2g6jxz65#
将
syntax enable
设置在colorscheme
之后1l5u6lss6#
问题:
在重新加载
.vimrc
的时候,有些高亮组被弄乱了。这取决于你有什么插件和你使用什么配色方案。我注意到一些highlight links
被破坏了,一些highlight groups
被清除了。受影响的突出显示组
在我的特定设置中,我注意到在以下位置上有损坏的
hi links
或清除的groups
:SignColumn
GitGutter
(使用SignColumn
)powerline-status
(使用状态行)重新装载后注意受影响的区域:
(重新加载意味着保存修改后的文件。本例中使用
:wa
)溶液
不幸的是,我所尝试的答案或任何选项组合在重新加载后都不能保留或恢复
hi
组。在重新加载后手动运行colorscheme <your-coloscheme>
可以修复所有问题,但在使用Vimscript
时却不能。希望有人能分享一个适当的解决方案,这个恼人的小问题。
丑陋的黑客
重新加载vimrc:
对我的vim配置文件进行任何更改时,我都会执行
reload.vim
:.vimrc:
reload.vim
:恢复断开的链接和清除的组我们要做的是在获得
vimrc
后恢复hi
组。要查找受影响区域的正确值,例如
SignColumn
,请键入::hi SignColumn
,* 在 * 发生任何重新加载之前。结果为(其中
xxx
为预览):您必须对每个受影响的
hi
执行此操作。在下面的代码片段中,我最初修复了
SignColumn
,以匹配我的solarized
配色方案。然后,我修复了一些
GitGutter
颜色问题:例如,
GitGutterAdd
链接到GitGutterAddDefault
,它被保留了,但是从GitGutterAddDefault
到DiffAdd
的链接被破坏了,所以我重新安装了那个链接。如此等等。重新加载.vim:
一切正常运行:
修复
powerline-status
颜色:这个比较复杂,但原理是一样的。
powerline
的所有高亮显示组都以Pl_
开头。但其中一些可能还不存在。例如,如果您还没有进入visual
模式,则视觉模式的相应组还不会被填充。因此,输入insert
,visual
,和normal
模式来填充组,然后复制它们。您可以在hl
命令的输出底部找到它们。然后,将它们粘贴到您的reload.vim
中,并将它们修改为合法的hl
命令。这听起来似乎是一个很大的工作,但它不是。这里有一个gist与完整的
reload.vim
,和一些gifs
,以指导您通过。x3naxklr7#
我遇到了类似的情况,我通过确保这些问题的顺序正确来解决:
我也用这个来重新加载
有了这两个我可以做我的vimrc的现场更新,而不必重新加载。我正在使用iTerm2与终端vim。希望这有助于别人了,因为我已经花了相当多的时间试图让这个现场重新加载工作。也要确保你有最新版本的solarized主题。我知道这似乎平凡的提及,但它可能会有所不同。
k2fxgqgv8#
我猜这些突出显示是由某个插件定义/更改的。
:colorscheme
的重新执行会重置这些定义。插件必须用:autocmd
挂钩到ColorScheme
事件,但大多数插件都不这样做。要解决此问题,请尝试将
:colorscheme
Package 在保护中: