【问题标题】:Need to source .vimrc from within vim to achieve wanted effect (italic comments)需要从 vim 中获取 .vimrc 以达到想要的效果(斜体注释)
【发布时间】:2023-03-31 07:38:01
【问题描述】:

在尝试在 vim 中使用 italic cmets 时遵循this 很好的答案,我遇到了一个奇怪的行为:我的.vimrc 中有这三个相关行:

set t_ZH=^[[3m
set t_ZR=^[[23m
highlight Comment cterm=italic

当我用 vim 打开文件时,cmets 不以斜体显示。但是,如果我这样做 :highlight Comment cterm=italic 甚至 :source ~/.vimrc,我会得到斜体 cmets。对此可能的原因有什么想法吗?

编辑:根据有用的答案,我通过用 autocmd VimEnter * :highlight Comment cterm=italic 替换 .vimrc 中的 highlight Comment cterm=italic 解决了这个问题。
This 关于脚本 vim 的文章也很有帮助。

【问题讨论】:

  • 您的 .vimrc 命令可能被您的配色方案或插件覆盖。您可以将它们添加到 augroup 事件中以在所有缓冲区加载事件之后触发。
  • @Conner 这也是我的第一个猜测。我没有在我的 .vimrc 中加载任何颜色方案,并且加载的唯一两个插件是 supertabauto-pairs。评论它们不会改变输出。将斜体设置放在 vimrc 的底部不会改变任何内容。另外,如果斜体设置被覆盖,从 vim 中获取 vimrc 怎么可能使它们生效?他们不应该也被覆盖吗?
  • 在启动vim时指定vim -u /path/to/my/.vimrc会发生什么?
  • 评论是直立的,和以前一样。执行 :source ~/.vimrc 会给出斜体 cmets。 .vimrc 中的所有其他设置似乎都可以立即使用。

标签: vim


【解决方案1】:

它不必是用户安装的插件,它会覆盖您的设置。 它也可以是 vim 附带的文件类型插件。这些文件类型特定的东西是在您的.vimrc 之后加载的,因此它们会在那里覆盖您的设置。之后获取您的.vimrc 将再次覆盖它们。

输入以下命令查看问题出在哪里:

:verbose hi Comment

【讨论】:

  • 谢谢你,成功了! :verbose hi Comment 将我指向/usr/share/vim/vim81/syntax/syncolor.vim 的第 34 行。将cterm=NONE 更改为cterm=italic 解决了我的问题!
  • 很高兴为您提供帮助,但您不应该这样做。这是系统上每个用户的默认颜色文件,并且可能会因更新而改变。看看:help after-directory:h auto-command 或者看看这个网站stackoverflow.com/questions/28375119/…
猜你喜欢
  • 2011-03-30
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 2023-01-14
相关资源
最近更新 更多