Kiedy wpisuję spację, po której następuje symbol potoku '|'
w wierszu polecenia zsh, zsh zjada spację, umieszczając symbol potoku bezpośrednio przed poprzednim słowem. Jak temu zapobiec? Nie jestem pewien co do możliwych konwencji stylistycznych, ale lubię spację po obu stronach symbolu potoku dla czytelności. Używam och-my-zsh praktycznie od razu po wyjęciu z pudełka.
Rozwiązanie
Na podstawie poniższej odpowiedzi mpy zastosowałem następujące rozwiązanie:
Domyślnie ZLE_REMOVE_SUFFIX_CHARS jest niezdefiniowany w zsh / ohmyzsh. Gdy jest niezdefiniowany, działa tak, jakby był:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
Dodałem następującą definicję do mojego ~ / .zshrc:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&'
(wszystkie oprócz fajki) i presto, idealnie! problem zniknął.
zsh -f
(aby pominąć ładowanie konfiguracji). Zauważysz, że zsh już tego nie zrobi. Następnie będziesz musiał wykopać (najprawdopodobniej) do oh-my-zsh, aby dowiedzieć się, jak to powoduje ;-)Odpowiedzi:
Podejrzewam, że masz na myśli, że po
TAB
wypełnieniu polecenia / nazwy pliku spacja jest dodawana automatycznie, ale po naciśnięciu|
ponownie znika. W przeciwnym razie nie mogę odtworzyć tego efektu.Jednak w takim przypadku rozwiązanie powinno być tak proste, jak
Wyjaśnienie jest dość trudne, więc po prostu cytuję
man zshparam
źródło