【问题标题】:How to change vim settings distinctively which each language?如何区分每种语言的vim设置?
【发布时间】:2012-08-21 12:43:27
【问题描述】:

我将 vim 与许多不同的语言(C、C++、Java、shell 等)一起使用。我知道 vim 已经为每种语言预设了设置,但我想根据我的个人喜好更改每种语言的设置。我已经有一个带有设置的 .vimrc 文件,但是我想要更多的文件来根据我使用的语言声明更具体的设置。应该调用哪些文件? c.vim? java.vim?

示例:在 C 中,我希望我的 cmets 为绿色,而在 Java 中,我希望它们为浅紫色。

另外,我讨厌 vim 的预设颜色方案。有什么方法可以创建自己的配色方案?

我希望这是可以理解的、完整的、有意义的。

提前致谢!!

【问题讨论】:

  • @PeterLawrey -1 如果我可以发表评论的话。
  • 在没有回应的情况下说“-1”是没有用的。也许您的意思是(我的意思是)“vim 作为 IDE 非常适合多种用途,并且可以通过插件扩展更多用途,因此我已经多年没有使用 IDE 进行开发了。不同的笔触。”。跨度>
  • 如果你不喜欢 Vim 自带的配色方案,here are hundreds more
  • 在您的 IDE 中,您可以在设置中设置配色方案。我知道有些人更喜欢 vim 或 emacs,如果没有 IDE 可以很好地处理该语言,这些很有用,但是对于某些语言,有为该语言设计的 IDE,你可以做这些编辑器不支持的事情,因为它们不是设计的为特定语言量身定制。
  • @romainl 而 answer 是按照 Michael 的建议更改配色方案。我的评论是,如果他想做的不仅仅是改变颜色,那么 IDE 旨在提高生产力。

标签: vim color-scheme


【解决方案1】:

您可以使用任一自动命令:

autocmd FileType java colorscheme desert

或将命令放入~/.vim/ftplugin/java_mycolors.vim。 (这是针对新设置的;如果您想覆盖默认的系统范围 ftplugins 中的内容,请将它们放在 ~/.vim/after/ftplugin/java.vim 中。)

如您所见,第一种方法快速而肮脏,而后者允许模块化和大量定制。您的来电。


至于改变colorscheme,这是一个全局设置;你不能同时混合它们;但是您只会注意到,当您拆分窗口或使用标签页时,可能会很好。

但是,您可以更改各个语法颜色。默认情况下,所有语言的 cmets 都链接到 Comment 高亮组。阅读语法文件(例如$VIMRUNTIME/syntax/java.vim)或使用 SyntaxAttr.vim 插件来确定组名。然后你可以在你的.vimrc中重新定义它:

:highlight javaLineComment guifg=Purple
:highlight javaComment guifg=Purple

这很乏味(取决于您要自定义多少),但更精确,并且可以并行工作。我会推荐这个,除非你真的想为每种文件类型使用完全不同的颜色。

【讨论】:

    【解决方案2】:

    您应该将所有特定于语言的设置放在ftplugin 目录中:

    ~/.vim/ftplugin/c.vim
    

    【讨论】:

      【解决方案3】:

      你想要autocmd

      :help autocmd
      
      autocmd FileType c,java map something somethingelse
      " Colorscheme just for PHP
      autocmd FileType php colorscheme desert
      

      通过测试FileType,您可以指定其他特定设置。或者,在您的 ~/.vim/ftplugin/ 中,为各个类型创建文件:

      ~/.vim/ftplugin/java.vim
      ~/.vim/ftplugin/c.vim
      

      【讨论】:

        【解决方案4】:

        Romainl 给了你right answer,ftplugins 是要走的路,但它不完整。

        由于您的问题是一个反复出现的问题,以下是我找到的一些更完整的其他答案:

        【讨论】:

          猜你喜欢
          • 2010-09-12
          • 1970-01-01
          • 1970-01-01
          • 2015-07-15
          • 2017-06-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多