Alias ​​im ZSH-Verlauf erweitern

Alias ​​im ZSH-Verlauf erweitern

Ich habe den folgenden Alias ​​in meinem zshrc

alias nif='nvim $(rg --files | fzf -m || echo +qa)'

Im Wesentlichen verwende ich rg (ripgrep), um alle Dateien im aktuellen Verzeichnis und in Unterverzeichnissen anzuzeigen. Dies wird in fzf weitergeleitet, wo ich einige davon auswählen kann, und dann wird es in neovim geöffnet. Wenn alles gesagt und getan ist, sieht der endgültige Befehl ungefähr so ​​aus:

nvim my_file.cpp

In meinem Verlauf wird jedoch nur der nifAlias ​​angezeigt. Gibt es eine Möglichkeit, nifin meinem Verlauf den erweiterten Befehl zu verwenden, z. B. nvim my_file.cpp?

Antwort1

Sorgen Sie dafür, dass Ihr Alias ​​seine Erweiterung selbst mit zum Verlauf hinzufügt print -s.

Anstatt:

alias nif='nvim $(...)'

verwenden

alias nif='f=$(...); print -rs nvim $f; nvim $f'

Dasselbe funktioniert mit einer Funktion anstelle eines Alias, was bedeutet, dass Sie die Verlaufsspeicherung abstrahieren und wiederverwenden können, anstatt sie in allen Ihren Aliasen zu duplizieren.

verwandte Informationen