在vim

时间:2016-10-08 01:49:42

标签: vim

我正在编写自己的vim主题,并使用此功能来加快速度

fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr)
  if a:guifg != ""
    exec "hi " . a:group . " guifg=#" . s:gui(a:guifg)
  endif
  if a:guibg != ""
    exec "hi " . a:group . " guibg=#" . s:gui(a:guibg)
  endif
endfun

并用

调用它
call <sid>hi("htmlTag", s:gui05, "")

但我很好奇如何处理空的“”。

因为它跳过条目,如果它是“”,函数的输出最终会

hi htmlTag guifg=#FFFFFF guibg=NONE 

其中空字符串由vim评估为NONE

hi htmlTag guifg=#FFFFFF

刚刚一起跳过?

1 个答案:

答案 0 :(得分:-1)

我不知道使用该功能会如何“加快速度”,特别是对于您的用户。

无论如何,由于所有缺少的参数,call <sid>hi("htmlTag", s:gui05, "")可能会导致错误。

此命令使用正确数量的参数call <sid>hi("htmlTag", s:gui05, "", "", "", "") 显然为您提供此输出:

hi htmlTag guifg=#FFFFFF

没有任何理由期望你的函数做任何不属于函数本身的事情。