【问题标题】:How to use different colorscheme and syntax highlighting in vim?如何在 vim 中使用不同的配色方案和语法高亮?
【发布时间】:2019-07-06 18:07:26
【问题描述】:

假设我想使用这个配色方案: https://github.com/NLKNguyen/papercolor-theme

我将 PaperColor.vim 文件复制到 .vim/colors 并制作了我的 .vimrc:

syntax on
colorscheme PaperColor
background=light

现在,我想对 haskell 文件使用这种语法高亮:https://github.com/raichoo/haskell-vim/tree/master/syntax

有两个语法高亮文件。我应该使用哪一个,将它们放在哪里?

谢谢!

我是否将它放在 ./vim/syntax 中,vim 会自动加载 ./vim/syntax 文件夹中的所有文件?

好像是自动加载haskell.vim。但不加载 cabal.vim。想知道当我打开 .hs 文件时它是否只加载 haskell.vim?我正在努力做到这一点。 vim可以一次加载多个语法文件吗?

【问题讨论】:

    标签: vim


    【解决方案1】:

    TL;DR:一切(大部分)都很好。颜色方案和语法脚本之间存在差异。

    Vim 中的大多数文件类型(如python)都带有定义高亮组的语法(通过:highlight python<C-d> 查看它们)。这些特定组(例如pythonFunction)然后链接到一组默认组(:help highlight-groups,例如Identifier)。 colorscheme 然后为默认组提供前景色/背景色和/或粗体和斜体(分别用于终端、颜色终端和/或 GVIM)格式的组合。

    高亮组→默认组→颜色+样式
    pythonFunctionIdentifierterm=underline ctermfg=3 guifg=DarkCyan

    因此,对于一组符合您个人口味的精美配色,您可以选择配色方案。对你来说,那就是colorscheme PaperColor注意background需要设置在选择颜色之前(你错过了:set命令):

    syntax on
    set background=light
    colorscheme PaperColor
    

    语法脚本知道如何解析某种语法(对你来说:haskellcabal;激活的内容取决于文件类型检测 ,这通常是正确的,但您也可以手动覆盖它(:setlocal syntax=cabal);我认为前者用于 Haskell 源代码,而 cabal 是包定义)。它们基本上可以识别某些语法元素,并将它们链接到通用高亮组(如StatementStringComment 等)。现在这些颜色如何着色(例如粗体绿色)由您选择的颜色方案决定。

    如您所见,颜色方案和语法脚本各有不同的作用,并且可以一起发挥作用。前者是全球个人选择,后者是根据检测到的文件类型激活的,每个缓冲区都不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 2019-01-25
      • 1970-01-01
      • 2011-02-08
      • 2012-08-16
      • 2013-09-06
      • 1970-01-01
      相关资源
      最近更新 更多