Teile des Pfads bis zum Slash unter der ZSH löschen
Nehmen wir einmal an, dass in der Historie der ZSH der Befehl “cd /home/nutzer/Downloads/Filme/Action” vorhanden ist. Was aber, wenn man nur in den Ordner Downloads wechseln will?
Eine Möglichkeit wäre, den Befehl aus der Historie aufzurufen und einfach Filme/Action zu löschen bevor man den Befehl ausführt. Oder man drückt einfach ALT + Backspace. Hier macht die ZSH allerdings Probleme. Anstelle bis beispielsweise rückwärts bis zum nächsten Slash zu löschen, wird bis zum nächsten Leerzeichen gelöscht. Somit wird aus “cd /home/nutzer/Downloads/Filme/Action” mit nur einem Shortcut “cd”. Irgendwie blöd. Also muss mal wieder meine .zshrc erweitert werden. In diese habe ich folgende Funktion gepackt.
function backward-kill-partial-word {
local WORDCHARS="${WORDCHARS//[\/.]/}"
zle backward-kill-word "$@"
}
zle -N backward-kill-partial-word
for x in '^Xw' '^[^?' '^[^H'; do
bindkey "$x" backward-kill-partial-word
done; unset x
Mittels WORDCHARS wir hierbei definiert, dass auch / Teil eines Worts ist. Speichert man nun die .zshrc und läd diese mittels “source ~/.zshrc” erneut ein lässt sich nun ein eingegebener Pfad mittels ALT + Backspace bis zum jeweils nächsten Slash rückwärts löschen.
Diese Artikel könnten auch interessant sein:
- Fuzzy Finder für die ZSH
- ZSH-Alias mit Platzhalter
- Lesezeichen für Verzeichnisse unter der ZSH
- Autokorrektur der ZSH partiell zum Schweigen bringen
- Nicht benötigte Dateiformate einer Datei löschen