我已经安装了zsh-syntax-highlighting。这工作得很好,除了一个奇怪的地方:当我输入参数扩展作为命令参数时,即
foo $PWD
一旦我输入$P
,参数扩展就会变成黑色(这使得它不可见,因为我使用带有黑色背景的终端)。当我键入 时,它保持黑色,并在键入$PW
后变为可见(前景色,但带下划线) 。$PWD
对于“未完成/未知”参数,突出显示属性似乎是“fg=black”,但对于已知参数只是取消行。
我喜欢它们的颜色不同,因为我可以通过这种方式尽早发现变量名称中的拼写错误。然而,黑色是不可读的,因为我也有黑色背景。
更有趣的是,只有当行中的第一个单词是外部命令(如foo
我的示例中)或语法关键字 ( if
) 时,才会发生这种情况。echo
如果行中的第一个单词是内部命令(例如)、别名调用或函数调用,则不会发生这种情况。
我搜索了文档,但没有找到可以在哪里定义“未完成的参数扩展”的颜色。
我正在使用以下荧光笔:
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern line)
我设置了各种高光类别,但没有一个类别可以让我简单地将前景设置为黑色。
我突出显示了一些非常具体的参数,这对我来说很重要,如下所示:
ZSH_HIGHLIGHT_PATTERNS+=('$(oncoll|onyt|oncp|ong)' 'fg=black,bold,bg=white')
但这也不会对这里描述的问题产生任何影响。
有人知道,哪种风格设置会影响我吗?