
Hintergrund
Homebrew für MacOS: So wird das Terminal zum bunten Zoo
von Florian Bodoky

Die neue Spotlight-Suche nervt mich. Mit einer selbstgebauten Ordnernavigation bewege ich mich im Alltag schneller durch Ordner und Dateien. So richte ich das ein.
Wenn du regelmässig mit vielen verschiedenen Ordnern und Pfaden arbeitest, kennst du das Problem: Der Finder wird zum Labyrinth. Jedes Mal klickst du dich wieder von vorne durch. Apple hat zwar Abhilfe geschafft: Unter macOS 26 ist die Spotlight-Suche deutlich besser. Aktionen ausführen, Apps starten, die Zwischenablage durchsuchen und sogar iPhone-Inhalte einbeziehen. Doch genau darin liegt auch der Nachteil: Es sucht alles, zeigt alles, mischt Apps, Dateien, Webinhalte und Aktionen – aber ist nicht darauf spezialisiert, dich blitzschnell an jene Orte zu bringen, an denen du täglich wirklich arbeitest.
Mit Homebrew kannst du einen eigenen Ordnernavigator erstellen, der automatisch lernt, welche Verzeichnisse du am häufigsten benutzt. Er erkennt deine Arbeitsmuster in deinem Arbeitsstil und führt dich mit einer kleinen Tastenkombi genau in die Ordner, in die du möchtest. Weil diese Lösung sich an deine Nutzung anpasst, ordnet es die Ergebnisse mit der Zeit nach deiner persönlichen Relevanz (ohne, dass du auf Spotlight verzichten musst). Und so richtest du das ein:
Zum Start musst du – falls noch nicht vorhanden – Homebrew installieren. Das ist ein Paketmanager. Starte das Terminal (mit Adminrechten), tippe folgenden Befehl ein und drücke die Entertaste. Du wirst nach dem Passwort gefragt mit dem du dich an deinem Mac anmeldest:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Anschliessend musst du den Pfad für Homebrew festlegen, damit das Terminal den Manager später wieder findet – dieser Pfad gilt seit MacOS Catalina.
echo 'eval "$(/opt/«Homebrew»/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/«Homebrew»/bin/brew shellenv)"

Diese beiden Tools sind unerlässlich für den selbst gebastelten Ordnernavigator. Autojump merkt sich, welche Ordner du häufig nutzt und lässt dich mit einem kurzen Kommando dorthin springen. fzf steht für «fuzzy finder» und ist ein Terminal-Suchtool. Nun öffnest du wiederum das Terminal und tippst folgendes (gefolgt von Enter) um die beiden Tools zu installieren:
brew install autojump fzf

Während der Installation wirst du verschiedene Sachen gefragt, zum Beispiel: «Do you want to enable fuzzy auto-completion?» Tippe jeweils den Buchstaben y für Ja und drücke Enter. Danach musst du fzf initialisieren, damit es richtig funktioniert. Dafür tippst du:

$(brew --prefix)/opt/fzf/install
Bestätige dies mit Enter.
Zum Schluss in diesem Tool-Marathon musst du Autojump aktivieren. Tippe dazu folgende Zeilen ein und drücke dann jeweils Enter.
open -e ~/.zshrc
Der Texteditor öffnet sich. Füge nun folgende Zeile in den Text ein und speichere die Datei anschliessend:
[ -f /opt/homebrew/etc/profile.d/autojump.sh ] && . /opt/homebrew/etc/profile.d/autojump.sh
Dies prüft, ob Autojump vorhanden ist und lädt es.
Füge nun folgenden Befehl in das Terminal, sodass die zshrc-Datei mit den neuen Befehlen darin geladen wird.
source ~/.zshrc
Jetzt folgt die Quickaction (so kannst du mittels Tastenkürzel Prozesse starten, für die du sonst mehrere Klicks brauchst). Die QA öffnet ein Suchfenster und den gewählten Ordner in der Auflistung von Autojump.

Öffne den Automator, wähle den Punkt «Neues Dokument». Wähle «Neues Dokument» und «Schnellaktion» und fülle die Maske mit folgenden Werten aus:

Links in der Liste Aktionen «Shell-Skript ausführen» suchen und per Doppelklick hinzufügen. Dann fügst du ein:
Dann ersetzt du den Standardtext durch dieses Skript (startet fzf im Terminal):
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
SCRIPT="/tmp/jump_fzf.sh"
cat << 'EOS' > "$SCRIPT"
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
source /opt/homebrew/etc/profile.d/autojump.sh
CHOICE=$(autojump -s<br /> | cut -d: -f2-<br /> | sed 's/^ *//'<br /> | fzf --prompt='Ordner suchen → ' --height=50% --border)
if [[ -n "$CHOICE" ]]; then
open "$CHOICE"
fi
exit
EOS
chmod +x "$SCRIPT"
osascript <<EOF
tell application "Terminal"
do script "zsh $SCRIPT"
activate
end tell
EOF
Klicke nun auf «Ablage» und dann auf «Sichern»; gib ihm einen sinnvollen Namen wie «Ordner-Navi».
Zum Schluss kannst du noch ein Tastenkürzel festlegen, welches deinen persönlichen Navigator aufruft. Dazu gehst du in die Systemeinstellungen, danach ins Tastatur-Menü. Wähle den Punkt «Tastaturkurzbefehle» und klicke links auf «Dienste». In dieser Liste suchst du unter «Allgemein» nach «Ordner-Navi». Klicke jetzt doppelt und lege eine Tastenkombi fest – natürlich eine, die nicht für etwas anderes vergeben ist, was du häufiger brauchst. Klicke auf «Fertig».

Wenn du diese Kombi nun drückst, erscheint ein kleines Textfenster. Fange an, den Namen des Ordners zu tippen. Mit der Zeit wird der Navigator deine Suche vervollständigen und er wird mit zunehmender Dauer immer besser und präziser.
Am Anfang findet der neue Navigator noch relativ wenig. Damit das Arbeiten am Anfang nicht zu mühsam ist, kannst du dem Navigator einen «Grundstock» an Pfaden geben. Dazu machst du im Automator nochmals ein neues Shell-Skript, genau wie zuvor. Danach fügst du dieses Skript ein, das die verschiedenen Standardordner von macOS in die Suche einfügt. Gib auch ihm einen sinnvollen Namen.

#!/bin/zsh
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
SCRIPT="/tmp/jump_fzf.sh"
cat << 'EOS' > "$SCRIPT"
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
source /opt/homebrew/etc/profile.d/autojump.sh
FAVORITES=(
"$HOME"
"$HOME/Desktop"
"$HOME/Downloads"
"$HOME/Documents"
"$HOME/Movies"
"$HOME/Music"
"$HOME/Pictures"
)
TMP_LIST="/tmp/jump_fzf_list.txt"
: > "$TMP_LIST"
for d in "${FAVORITES[@]}"; do
[ -d "$d" ] && echo "$d" >> "$TMP_LIST"
done
autojump -s<br /> | cut -d: -f2-<br /> | sed 's/^ *//' >> "$TMP_LIST"
CHOICE=$(sort -u "$TMP_LIST"<br /> | fzf --prompt='Ordner suchen → ' --height=50% --border)
if [[ -n "$CHOICE" ]]; then
open "$CHOICE"
fi
exit
EOS
chmod +x "$SCRIPT"
osascript <<EOF
tell application "Terminal"
do script "zsh $SCRIPT"
activate
end tell
EOF
Nun gilt es, die neue Ordner-Navi fleissig zu benutzen und sie so gleichzeitig besser zu machen.
Seit ich herausgefunden habe, wie man bei der ISDN-Card beide Telefonkanäle für eine grössere Bandbreite aktivieren kann, bastle ich an digitalen Netzwerken herum. Seit ich sprechen kann, an analogen. Wahl-Winterthurer mit rotblauem Herzen.
Interessantes aus der Welt der Produkte, Blicke hinter die Kulissen von Herstellern und Portraits von interessanten Menschen.
Alle anzeigen