gpt4 book ai didi

vim - 如何使用molokai在vim中为圆括号和方括号添加颜色

转载 作者:行者123 更新时间:2023-12-04 05:22:42 29 4
gpt4 key购买 nike

我正在使用 molokai在 vim 中编码到 python/html/css/javascript。当我编辑 python 文件(或 javascript)时,括号没有着色。对于括号为灰色的简单脚本(如 molokai.vim 本身),情况并非如此。

我编辑了 molokai.vim并添加

hi parens guifg=#999999

然后我编辑了 .vimrc并补充说:
syn match parens /[(){}]/

但括号和括号保持白色。

我做错了什么?

最佳答案

  • 从不使用 :syn要突出显示所有文件类型,有 matchadd()为此。使用 :syn可以轻松打破高亮显示,matchadd()是一个叠加。
  • Syntax 时,语法高亮将被覆盖事件触发。而且,它只对当前缓冲区有效。所以只是syn在 vimrc 中永远不会工作,你必须使用自动命令
    autocmd! Syntax python :syntax match Parens /[(){}]/

    (对于python,它是安全的,因为括号和数字括号与任何其他语法元素都不匹配)。
  • 在 javascript 括号中 ( () ) 已经与 javaScriptParens 匹配突出显示组。因此你必须使用
    hi def link javaScriptParens Parens

    (在配色方案中)。大括号由 javaScriptBraces 匹配并需要类似的命令。
  • 要确定特定符号使用什么突出显示,我将光标放在此符号上并启动
    echo 'Normal '.join(map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")'))

    ,最后显示的单词通常是您需要的。如果只是Normal显示然后符号不突出显示,你必须去 2.,否则你必须去 3。
  • 对于不考虑当前使用的突出显示的通用解决方案,您可以使用 matchadd()正如我已经说过的。但它是窗口本地的,因此如果您使用多个窗口/选项卡,则不能没有 autocmd:
    autocmd! WinEnter * :if !exists('w:parens_match_id') | let w:parens_match_id=matchadd('Parens', '[(){}]') | endif

  • 所有自动命令都被包围
    augroup HighlightParens
    autocmd! …
    augroup END

    关于vim - 如何使用molokai在vim中为圆括号和方括号添加颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544042/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com