インストールしましたzsh 構文の強調表示これはうまく機能しますが、1つの奇妙な点があります。コマンド引数としてパラメータ展開を入力すると、つまり
foo $PWD
を入力するとすぐに$P
、パラメータ展開が黒色になります (背景が黒い端末を使用しているため、見えなくなります)。 を入力すると黒色のままになり$PW
、 を入力すると表示されます (前景色ですが、下線が付きます) $PWD
。ハイライト属性は、「未完成/不明」パラメータの場合は「fg=black」ですが、既知のパラメータの場合は単に unline になるようです。
変数名の入力ミスを早期に発見できるので、色分けされているのが気に入っています。ただし、背景も黒なので、黒は読みにくいです。
さらに興味深いことに、これは行の最初の単語が外部コマンド (foo
私の例のように) または構文キーワード ( ) である場合にのみ発生します。行の最初の単語が内部コマンド ( など)、エイリアス呼び出し、または関数呼び出しでif
ある場合は発生しません。echo
ドキュメントを検索しましたが、「未完了のパラメータ拡張」の色分けを定義できる場所が見つかりませんでした。
私は以下の蛍光ペンを使用しています:
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern line)
さまざまなハイライト カテゴリを設定しましたが、前景を単純に黒に設定するものはありません。
私にとって重要な特定のパラメータを次のように強調表示します。
ZSH_HIGHLIGHT_PATTERNS+=('$(oncoll|onyt|oncp|ong)' 'fg=black,bold,bg=white')
しかし、これもここで説明した問題には何の影響も及ぼさない可能性があります。
ここでどのスタイル設定が私に影響を与えるか、誰か知っていますか?
答え1
main
蛍光ペンのデフォルトのスタイルはすべてここにありますここ。
現時点では、テキスト(fg
)が黒に設定されているデフォルトのスタイルはコメント。
foo $PW
なぜこの例がコメントとしてカウントされるのかは分かりませんが、ドキュメンテーション次のように記述しますcomment
。
comment
- コメント、setopt INTERACTIVE_COMMENTS
が有効な場合 (echo # foo
)
comment
- コマンド位置で省略されたパラメータ (が設定されていないか空の$x ls
場合$x
)
2 番目の条件は$PW
設定されていない可能性が高いため、有効になっているようです。