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_CHARS
diese Option aktiviert ist, wird das Suffix entfernt und durch ein Leerzeichen ersetzt.
Wenn ZLE_REMOVE_SUFFIX_CHARS
nicht festgelegt, entspricht das Standardverhalten:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
Wenn ZLE_REMOVE_SUFFIX_CHARS
gesetzt, 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_SLASH
aktiviert 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_CHARS
Satz aber ohne Einbeziehung ist &
das Ergebnis DIR/&
. Mit ZLE_SPACE_SUFFIX_CHARS
set 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 ;-)