Zshには、ほとんどの場合、うまく機能するいくつかの完成関連の自動化機能があります。を押すと、Tabスペース(または中,
かっこ内などの他の適切な文字)が自動的に挿入されます。
&
1つの状況を除いて、この機能を維持したいと思います。を入力または|
押した後にスペースを削除したくありませんTab。私はスペースを削除することを好み、;
角かっこ列挙型を押すときにカンマが自動的に挿入されるのを確実に抑制したいと思います。Tab }
デフォルトでは、この機能は「古い」(compctl
)と「新しい」()完成システムcompadd
の両方で機能します。私は新しいシステムにのみ興味があります。
挿入を完了する自動サフィックスの自動抑制を調整するには?
ベストアンサー1
この機能は次のように調整できます。ZLE_REMOVE_SUFFIX_CHARS
そしてZLE_SPACE_SUFFIX_CHARS
シェルパラメータ。
この変数が設定されている場合は、
ZLE_REMOVE_SUFFIX_CHARS
入力時にオートコンプリートサフィックスが削除される文字セットを含める必要があります。設定されていない場合、ZLE_REMOVE_SUFFIX_CHARS
デフォルトの動作は次のとおりです。ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
suffices に設定された文字は
ZLE_SPACE_SUFFIX_CHARS
スペースで置き換えられます。またそれより優先する。ZLE_SPACE_SUFFIX_CHARS
したがって、必要な動作を得るために設定するだけで十分です。
ZLE_SPACE_SUFFIX_CHARS=$'|&'
,
入力すると、自動的に挿入された中括弧の列挙が常に削除されるようです}
。
zshparam(1)
一部の完成システムはこの動作を無視できると言われていますが、「new」compsys
(あなたが呼ぶように)ではうまくcompadd
動作するようです。