我已經安裝了zsh-語法高亮。這工作得很好,除了一個奇怪的地方:當我輸入參數擴展作為命令參數時,即
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')
但這也不會對這裡描述的問題產生任何影響。
有人知道,哪種風格設定會影響我嗎?