<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://kniebes.com/assets/xsl/rss.xsl" type="text/xsl" media="screen"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:media="http://search.yahoo.com/mrss/"
>

    <channel>
        <title>M. Kniebes. · Zsh</title>
        <atom:link href="https://kniebes.com/tag/zsh.xml" rel="self" type="application/rss+xml" />
        <link>https://kniebes.com</link>
        <description>Beiträge zum Tag Zsh</description>
        <lastBuildDate>Fri, 06 Nov 2026 15:23:55 +0100</lastBuildDate>
        <language>de-DE</language>
        <sy:updatePeriod>hourly</sy:updatePeriod>
        <sy:updateFrequency>1</sy:updateFrequency>
        <generator>IO</generator>
        <atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
        <atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
        <atom:link rel="hub" href="https://websubhub.com/hub"/>

                
            <item>
                
                <title><![CDATA[Das hätte mir auch eher einfallen können.]]></title>
                <link>https://kniebes.com/2026/11/06/das-haette-mir-auch-eher-einfallen-koennen.html</link>
                <dc:creator><![CDATA[Markus Kniebes]]></dc:creator>
                <pubDate>Fri, 06 Nov 2026 15:23:55 +0100</pubDate>
                <guid isPermaLink="true">https://knieb.es/6bbc</guid>
                <description><![CDATA[<p>Meist klicke ich in YouTrack-Tickets meta information line über dem Ticketnamen vorn auf das kleine „Copy to Clipboard“-Icon, um den Ticketnamen inkl. Ticket-ID in die Zwischenablage zu kopieren, um dann daraus einen BR-Nachnamen zu generieren.</p>

<p>Bisher habe ich eine Raycast Extension benutzt, um den String zu urlifien und ein <code>git switch -c</code> davorzuschreiben.</p>

<p>Viel schöner geht es mit diesen beiden zsh-Funktionen für die <code>~/.zshrc</code>:</p>

<pre><code class="language-bash">slug() {
  perl -CSA -Mutf8 -MUnicode::Normalize -e '
    $_ = @ARGV ? join(" ", @ARGV) : join("", &lt;STDIN&gt;);
    s/Ä/Ae/g; s/Ö/Oe/g; s/Ü/Ue/g; s/ä/ae/g; s/ö/oe/g; s/ü/ue/g; s/ß/ss/g;
    $_ = NFD($_); s/\p{Mn}//g;
    $_ = lc; s/[^a-z0-9]+/-/g; s/^-+|-+$//g;
    print "$_\n";
  ' -- "$@"
}

gsb() { git switch -c "feature/$(slug "$@")"; }
</code></pre>

<p>Ein einfaches <code>gsb "FOO-42 Ein weiteres Feature"</code> legt den Branch <code>feature/foo-42-ein-weiteres-feature</code> an. Das ist unendlich viel praktischer als Raycast. Zumal für Raycast die Tage gezählt sind. Sobald ich meinen Arbeits-Mac geupdatet habe, werde ich es auch auf dem Rechner durch <a href="https://github.com/abue-ammar/tinycast">Tinycast</a> ersetzen.</p>
<hr>
<p><a href="mailto:m@kniebes.io?subject=Das hätte mir auch eher einfallen können. (knieb.es/6bbc)">Per E-Mail antworten</a><br>
<a href="https://kniebes.com/frag-mich.html">Du hast Fragen an mich oder ein Thema für die FAQ?</a></p>]]></description>

                            
                    <category><![CDATA[git]]></category>
                
                    <category><![CDATA[Zsh]]></category>
                                
            </item>

                
        
    </channel>
</rss>
