22 November, 2015

Zsh och citering av länkar

Jag kollar ofta på YouTube-videos via min mediaspelare mpv. Eftersom att alla länkar innehåller tecknet ? behöver jag antingen citera länken eller lägga till ett \ före frågetecknet för att det ska fungera. Det blir som du förstår lite jobbigt i längden.

Varför zsh och inte Bash har detta beteende beror på att zsh har valt att gå en lite säkrare väg när det kommer till något som inom programmering kallas för globbing. En bra och koncis förklaring på hur globbing med zsh fungerar hittar du på Stackexchange.org [Länk]. Jag försökte mig på en svensk förklaring, men som icke-programmerare är det ibland svårt att förklara vissa saker på svenska när man inte är helt bekväm med ämnet. :)

Det går att om man vill inaktivera funktionen globalt i zsh med setopt NO_NOMATCH, men det är inte en rekommenderad lösning av allmänheten. En bättre lösning som jag blev tipsad om på #weechat på Freenode, är att man kan använda sig av funktionen url-quote-magic.

Det är en funktion som formaterar din länk med rätt syntax automatiskt. Det vill säga att när du skriver eller kopierar in en länk kommer zsh att vid behov formatera din länk så att du inte behöver citera länken.

Om du vill använda dig av url-quote-magic lägger du bara till följande i din konfigurationsfil ~/.zshrc:

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

Spara filen och ladda om din konfiguration med kommandot source ~/.zshrc.

Dom två sista raderna behövde jag för att det skulle fungera i version 4.1 av zsh som i skrivande stund är aktuell i Arch Linux.

Lämna en kommentar:

Namn:

Hemsida (Valfritt):

Meddelande (kramdown-markup tillåtet):

Din kommentar kommer att publiceras när den har verifierats.