yt-dlp und zsh „no matches found“

yt-dlp (früher bekannt als youtube-dl, yt-dlp ist ein aktueller Fork) ist toll, um Videos von diversen Webseiten (nicht nur YouTube!) zu downloaden und zu archivieren. Dabei nervte mich, dass zsh das ? fürs Globbing benutzt und diese Fehlermeldung warf:

% yt-dlp https://www.youtube.com/watch?v=dQw4w9WgXcQ
zsh: no matches found: https://www.youtube.com/watch?v=dQw4w9WgXcQ

Wenn man den folgenden Codeblock in seine .zshrc einfügt, werden alle URLs automatisch escaped, wenn man sie ins Terminal kopiert. Damit funktionieren yt-dlp oder auch curl wieder ohne Probleme:

autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic

autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic

Im Internet habe ich gelesen, dass es eventuell Kompatibilitätsprobleme mit anderen zsh-Plugins geben kann. Persönlich habe ich aber bisher nichts bemerkt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert