ZLE_REMOVE_SUFFIX_CHARS/ ZLE_SPACE_SUFFIX_CHARS
Diese Parameter werden vom Zeileneditor verwendet. Unter bestimmten Umständen werden vom Vervollständigungssystem hinzugefügte Suffixe (normalerweise Leerzeichen oder Schrägstriche) automatisch entfernt, entweder weil der nächste Bearbeitungsbefehl kein einfügbares Zeichen war oder weil das Zeichen so markiert wurde, dass das Suffix entfernt werden muss.
Diese Variablen können die Zeichensätze enthalten, durch die das Suffix entfernt wird. Wenn ZLE_REMOVE_SUFFIX_CHARS
gesetzt, werden diese Zeichen dazu führen, dass das Suffix entfernt wird. Wenn ZLE_SPACE_SUFFIX_CHARSdiese Option aktiviert ist, wird das Suffix entfernt und durch ein Leerzeichen ersetzt.
Wenn ZLE_REMOVE_SUFFIX_CHARSnicht festgelegt, entspricht das Standardverhalten:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
Wenn ZLE_REMOVE_SUFFIX_CHARSgesetzt, aber leer ist, haben keine Zeichen dieses Verhalten. ZLE_SPACE_SUFFIX_CHARS hat Vorrang, so dass folgendes gilt:
ZLE_SPACE_SUFFIX_CHARS=$'&|'
Bewirkt, dass die Zeichen &und |das Suffix entfernt, aber durch ein Leerzeichen ersetzt werden.
Nehmen Sie zur Veranschaulichung des Unterschieds an, dass die Option AUTO_REMOVE_SLASHaktiviert ist und das Verzeichnis DIR soeben mit einem angehängten Code abgeschlossen wurde /, nach dem der Benutzer Folgendes eingibt &. Das Standardergebnis ist DIR&. Mit ZLE_REMOVE_SUFFIX_CHARSSatz aber ohne Einbeziehung ist &das Ergebnis DIR/&. Mit ZLE_SPACE_SUFFIX_CHARSset to include ist &das Ergebnis DIR &.
Beachten Sie, dass bestimmte Vervollständigungen möglicherweise ein eigenes Verhalten zum Entfernen oder Ersetzen von Suffixen aufweisen, das die hier beschriebenen Werte außer Kraft setzt.
zsh -f(um das Laden Ihrer Konfiguration zu überspringen). Sie werden feststellen, dass zsh das nicht mehr macht. Dann müssen Sie (höchstwahrscheinlich) in oh-my-zsh graben, um herauszufinden, wie es das verursacht ;-)