处理 ~/.vim/pack/plugins/start/clrzr/autoload/clrzr.vim 时检测到错误:

Error detected while processing ~/.vim/pack/plugins/start/clrzr/autoload/clrzr.vim:

我正在尝试安装着色器插件的分支。它有最低要求,awk 就是其中之一。但是我好像运行在一堆错误。

line   31:
E492: Not an editor command: const s:RXFLT = '%(\d*\.)?\d+'
line   34:
E492: Not an editor command: const s:RXPCT = '%(\d*\.)?\d+\%'
line   37:
E492: Not an editor command: const s:RXPCTORFLT = '%(\d*\.)?\d+\%?'
line   40:
E492: Not an editor command: const s:CMMA = '\s*,\s*'
line  554:
E492: Not an editor command: const s:CLRZR_AWK_SCRIPT_PATH = expand('<sfile>:p:h') . '/clrzr.awk'
Error detected while processing function clrzr#Enable:
line   22:
E121: Undefined variable: s:CLRZR_AWK_SCRIPT_PATH
E116: Invalid arguments for function job_start( ['awk', '-f', s:CLRZR_AWK_SCRIPT_PATH], job_opts)
line   27:
E121: Undefined variable: s:awk_job
E116: Invalid arguments for function job_getchannel(s:awk_job)
line   28:
E121: Undefined variable: s:awk_chan
E116: Invalid arguments for function string(s:awk_chan) == 'channel fail'
line   86:
E216: No such group or event: SafeState * call s:SafeStateUpdate()

插件可以在这里访问: https://github.com/BourgeoisBear/clrzr

此外,我附上出错的原始文件: https://raw.githubusercontent.com/BourgeoisBear/clrzr/master/autoload/clrzr.vim

:help :const 是在补丁 8.1.1539 中引入的。如果您的 Vim 无法识别它,则意味着它对于该插件来说太旧了。

你可以……

  • 使用原来版本的插件,似乎并没有使用太多的新功能,
  • 或者制作你自己的 backward-compatible 那个叉子的叉子,
  • 或升级 Vim 到更新的版本。

我会选择第三个选项。

此外,您可能想请该分支的作者明确说明插件的要求。