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.