zsh - ^ W Verhalten mit oh-my-zsh


1

Ich habe vor kurzem begonnen, ZHS mit oh-my-zsh-Skriptpaket zu verwenden. Es leistet hervorragende Arbeit, abgesehen von seltsamem Verhalten bei Verknüpfungen.

Wenn ich zum Beispiel die folgende Befehlszeile habe und das Symbol ▮ die Cursorposition angibt.

$ ./command_name --option1 value --option2=value ▮

Wenn ich mehrmals nacheinander ^ W drücke, wird in den Eingabeaufforderungen folgender Inhalt angezeigt:

$ ./command_name --option1 value --option2=▮
$ ./command_name --option1 value --▮
$ ./command_name --option1 ▮
$ ./command_name --▮
$ ./command_▮
$ ./▮

Was mich stört ist, dass nach dem dritten Drücken der Cursor nicht nach dem Löschen stoppt --, isst aber auch value. Ich vermute, dass alle Symbole wie "_-" als Trennzeichen als Leerzeichen betrachtet werden und zsh weiterhin Symbole frisst, bis einige Zeichen ohne Trennzeichen gelöscht werden, aber ich habe keine Ahnung, wie ich dieses Verhalten ändern soll.


UPD: Ich habe Lösungen von hier aus versucht, hat nicht geholfen: stackoverflow.com/questions/444951/…
Nevkontakte

Was ist echo $WORDCHARS?
slhck

Antworten:


2

Um dieses (Standard-) Verhalten zu beheben, soll Zsh vi-style verwenden backward-kill-word.

Gib das in dein ~/.zshrc:

bindkey '^W' vi-backward-kill-word

Nun wird es an folgenden Positionen töten:

$ ./command_name --option1 value --option2=▮
$ ./command_name --option1 value --option2▮
$ ./command_name --option1 value --▮
$ ./command_name --option1 value ▮
$ ./command_name --option1 ▮
$ ./command_name --▮
$ ./command_name ▮
$ ./▮
$ ▮
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.