ZLE_REMOVE_SUFFIX_CHARS
/ ZLE_SPACE_SUFFIX_CHARS
これらのパラメーターは、ラインエディターで使用されます。特定の状況では、次の編集コマンドが挿入可能な文字ではなかったか、文字に接尾辞の削除が必要とマークされたため、補完システムによって追加された接尾辞(通常はスペースまたはスラッシュ)は自動的に削除されます。
これらの変数には、接尾辞を削除する文字のセットを含めることができます。ZLE_REMOVE_SUFFIX_CHARS
が設定されている場合 、これらの文字により接尾辞が削除されます。ZLE_SPACE_SUFFIX_CHARS
が設定されている場合、これらの文字により接尾辞が削除され、スペースに置き換えられます。
ZLE_REMOVE_SUFFIX_CHARS
が設定されていない場合、デフォルトの動作は次と同等です。
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
場合はZLE_REMOVE_SUFFIX_CHARS
設定されているが空で、何の文字は、この動作を持っていません。 ZLE_SPACE_SUFFIX_CHARS
優先されるため、次のようになります。
ZLE_SPACE_SUFFIX_CHARS=$'&|'
文字&
を生成|
し、サフィックスを削除しますが、スペースに置き換えます。
違いを説明するために、オプションAUTO_REMOVE_SLASH
が有効であり、ディレクトリDIRが追加された直後に追加され/
、その後にユーザーが入力するとします&
。デフォルトの結果はDIR&
です。ZLE_REMOVE_SUFFIX_CHARS
setを使用し ますが&
、結果は含めませんDIR/&
。ZLE_SPACE_SUFFIX_CHARS
含まれるように設定され&
た結果ですDIR &
。
特定の補完は、ここで説明する値をオーバーライドする独自の接尾辞の削除または置換の動作を提供する場合があることに注意してください。
zsh -f
(設定の読み込みをスキップするため)を使用してこれを再試行します。zshはもうそれを行わないことに気付くでしょう。次に、oh-my-zshを(ほとんどの場合)掘り下げて、それが原因である理由を把握する必要があります;