Shell-Konfiguration und Kommandozeilen-Werkzeuge¶
In diesem Kapitel möchte ich euch zwei mächtige Erweiterungen der Shell vorstellen:
Starship ist ein schnelles Tool, das ihr mit jeder Shell verwenden könnt.
Pipes (|
)¶
Git verwendet nie less, wenn ihr die Ausgabe in ein anderes Programm umleitet, wie z.B.:
$ git log --oneline | grep Jupyter
Ihr könnt jedoch die Ausgabe wieder an less
übergeben:
$ git log --oneline | grep Jupyter | less
delta¶
delta ist eine schicke Diff-Anzeige, siehe z.B.:

Installation¶
Die .deb
-Dateien befinden sich auf der Release-Seite.
$ brew install git-delta
> choco install delta
Konfiguration¶
Eine Beispielkonfiguration findet ihr in Git config file:
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
[merge]
conflictstyle = zdiff3
delta erweitert jedoch nicht nur die Anzeige von git diff
, sondern auch die
von git add --patch
, git log --patch
, git blame
, git
rebase
-Merge-Konflikten und git show
. Zudem kann delta auch Side-by-Side-Diffs anzuzeigen , z.B.:

Ihr könnt dies auch global konfigurieren mit:
$ git config --global delta.side-by-side true
ripgrep¶
Installation¶
Ihr könnt ripgrep mit einer binären .deb
-Datei installieren, die in
jedem ripgrep-Release
enthalten ist.
$ curl -LO https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep_14.1.0-1_amd64.deb
$ sudo dpkg -i ripgrep_14.1.0-1_amd64.deb
$ brew install ripgrep
> choco install ripgrep
Siehe auch
Beispiele¶
Bemerkung
Das Paket heißt zwar ripgrep
, der Befehl ist jedoch rg
.
$ rg PATTERN
sucht nach Regexen, wobei ihr oft Anführungszeichen verwenden solltet, um zu verhindern, dass die Shell Sonderzeichen interpretiert.
$ rg PATTERN FILENAMES
beschränkt die Suche auf bestimmte Dateien, indem ihr sie nach dem Mustern benennt.
$ rg -g|--glob PATTERN
filtert Dateien nach sog. Globbing-Mustern.
$ rg -t SUFFIX PATTERN
sucht nach Dateien mit bestimmten Dateiendungen.
Mit
rg --type-list
erhaltet ihr alle möglichen Dateiendungen.$ rg -i|--ignore-case PATTERN
ignoriert die Groß- und Kleinschreibung.
$ rg --hyperlink-format EDITOR PATTERN
erstellt Dateipfade als Terminal-Hyperlinks, die bei gedrückter Strg- oder ⌘-Taste geöffnet werden können. Mögliche Editoren erhaltet ihr mit
man rg
.$ rg --no-ignore PATTERN
,$ rg -.|--hidden -.PATTERN
,$ rg --binary PATTERN
oder$ rg -u |--unrestricted PATTERN
zeigt auch Ergebnisse in Dateien an, die durch
.gitignore
-Anweisungen, durch.
versteckte Dateien oder binäre Dateien üblicherweise ausgefiltert werden.Tipp
$ rg -.|--hidden -.PATTERN
zeigt euch auch Ergebnisse im.git
-Verzeichnis an. Um dieses Verzeichnis von der Suche auszunehmen, könnt ihr dieses Verzeichnis Mit der Option-g|--glob
und einem!
ausschließen, alsorg -. -g '!.git' PATTERN
.
Konfiguration¶
Ihr könnt eine Konfigurationsdatei für ripgrep anlegen in
~/.config/ripgreprc
, z.B.:
--hyperlink-format
default
--smart-case
--hidden
--glob
!.git
Anschließend könnt ihr die RIPGREP_CONFIG_PATH
-Umgebungsvariable definieren
mit
$ export RIPGREP_CONFIG_PATH=~/.config/ripgreprc