Ich habe ein Dienstprogramm namens fzf https://github.com/junegunn/fzf gefunden, das ein Fuzzy-Finder für Ihre Shell ist.
Zwei Fragen:
1) Nachdem ich fzf
eine Datei ausgeführt habe, drücke ich Enter
und die gefundene Datei wird im Terminal ausgegeben. Enter
Welche Taste sollte ich stattdessen drücken, um diesen Dateipfad in meinen Pastebin zu kopieren?
2) Idealerweise möchte ich in der Lage sein, cat <pattern><hotkey>
Folgendes zu tun: Ich gebe einen
Teil des Namens einer Datei ein und drücke dann einen Hotkey, um eine fzf-Suche nach diesem Muster zu starten. Gibt es eine Möglichkeit, dies zu tun?
man pbpaste
Antworten:
Ich schlage vor, dass Sie die README-Seite durchlesen . Sie benötigen ein grundlegendes Verständnis der Shell-Skripterstellung, um fzf vollständig nutzen zu können.
fzf ist ein Unix-Filter wie grep oder sed und druckt lediglich die ausgewählten Elemente. Was mit der Ausgabe zu tun ist, liegt ganz bei Ihnen.
Sie können den
pbcopy
Befehl verwenden, um das Ergebnis wie folgt in der Zwischenablage zu speichern:Eine konventionellere Art, fzf zu verwenden, besteht darin, es mit Befehlssubstitution zu verwenden:
Oder um die
CTRL-T
Schlüsselbindung zu verwenden, mit der die Namen der ausgewählten Dateien in die Befehlszeile eingefügt werden:fzf wird mit Fuzzy-Vervollständigung für Bash geliefert. Sehen Sie hier für weitere Details. Um die automatische Vervollständigung aufzurufen, hängen Sie zwei Sternchen an das Muster an und drücken Sie die Tabulatortaste wie folgt:
Wenn Sie bash nicht verwenden, können Sie am besten die oben erwähnte STRG-T-Tastenkombination verwenden.
Siehe: https://github.com/junegunn/fzf#key-bindings-for-command-line
quelle
brew install fzf
) installiert und die VerknüpfungenCTRL-T
undpat**<Tab>
haben nicht funktioniert. Ich habe jetzt fzf direkt vom GitHub-Repo installiert und jetzt funktioniert alles.brew install fzf
installiert nur die ausführbare Datei fzf. Um zusätzliche Funktionen zu installieren, müssen Sie das angehängteinstall
Skript nach der Installation ausführen . Siehebrew info fzf
für weitere Informationen.Ich habe versucht, fzf über Homebrew zu installieren, und meine CTRL-T- und pat ** -Verknüpfungen funktionierten ebenfalls nicht. Ich habe festgestellt, dass fzf meiner .bashrc einige Befehle hinzugefügt hat, aber meine .bashrc wird nicht aufgerufen.
Das Einfügen derselben Quellanweisung von .bashrc in .bash_aliases hat den Trick für mich getan.
quelle
.bash_profile
für mich .. 'cos anscheinend verwendet osx nicht .bashrc es verwendet .bash_profile