Befehls-Organizer-Tool zum Horten all Ihrer wertvollen Befehle?
Mit einem Befehlsorganisator können Sie Befehle speichern, die Sie häufig verwenden, die aber zu kompliziert oder zu lang sind, um sie sich zu merken. Für jeden gehorteten Befehl speichert hoard
#
) Wenn Sie sich in Ihrem umfangreichen Befehlsverlauf verlieren und beispielsweise einen bestimmten docker
-Befehl unter den tausenden docker
-Befehlen, die Sie bereits ausgeführt haben, nicht finden können, horten Sie ihn einfach. Mit einem Namen und einer Beschreibung wird es viel einfacher, es wiederzufinden. Wenn Sie einen Monat später erneut nach diesem Befehl suchen, werfen Sie einen Blick auf Ihre gehorteten Befehle.
hoard
soll nicht den Shell History Finder wie fzf
atuin
oder ähnliche Dienstprogramme ersetzen. Es sollte vielmehr in Verbindung mit ihnen verwendet werden.
Jetzt mit ChatGPT-Integration?
Verwenden Sie am besten rustup, um die Rust-Toolchain einzurichten. Anschließend können Sie Folgendes ausführen:
cargo install hoard-rs
Oder bauen Sie es selbst:
cargo build --release
Finden Sie die Binärdateien in ./target/release/hoard
Verschieben Sie sie dorthin, wo Sie sie benötigen (z. B. /usr/local/bin/hoard
) oder führen Sie sie aus
cargo install --path .
Getestet am:
Installieren Sie hoard
indem Sie es ausführen
./install.sh
Wenn Sie fish
laufen lassen
LATEST_RELEASE=1.4.2 ./install.fish
paru -S hoard
brew tap Hyde46/hoard
brew install hoard
sudo port install hoard-cli
Weitere Infos hier
Am besten von der Quelle installieren, viel Glück
Installieren Sie hoard
als Plugin, um die automatische Vervollständigung zu aktivieren. Führen Sie je nach Shell einen der folgenden Befehle aus. Um es für Ihre nächste Shell-Sitzung installiert zu lassen, fügen Sie den source
mit einem absoluten Pfad zu Ihrer .bashrc
hinzu oder kopieren Sie den Plugin-Inhalt und fügen Sie ihn in Ihre .bashrc
ein.
source src/shell/hoard.bash
source src/shell/hoard.zsh
source src/shell/hoard.fish
Das Hoard-Paket befindet sich im Nixpkgs-Paket-Repository.
Installieren Sie es entweder mit nix-env -iA hoard
, laden Sie es vorübergehend mit nix-shell -p hoard
herunter oder fügen Sie es Ihrer Konfiguration hinzu.
hoard new
Wenn ein Parameter beim Speichern des Befehls nicht bekannt ist, geben Sie ein #
ein (oder Ihr benutzerdefiniertes Token aus Ihrer ~/.config/hoard/config.yml
). Sie können Ihre Parameter auch wie folgt benennen:
echo "My name is #first and I live at #city. Did I tell you my name, #first?"
Wenn Sie #first
setzen, müssen Sie dies nur einmal für jedes Vorkommen im Befehl tun. Ein Parametername ist als alles definiert, dem das Token folgt, bis das erste Leerzeichen gefunden wird. Alternativ können Sie bestimmen, wo der benannte Parameter endet, indem Sie ein !
(Oder Ihr benutzerdefiniertes Token aus Ihrer ~/.config/hoard.config.yml
)
echo "My name is #first named parameter! and I live at #city. Did I tell you my name, #first?"
<Ctrl-h>
Alternativ kann die interaktive Suche auch dann durchgeführt werden, wenn sie nicht als Plugin installiert ist, allerdings ohne automatische Vervollständigung. Dies setzt voraus, dass der Benutzer den Befehl per Maus von der Benutzeroberfläche kopiert
hoard list
Wenn Sie hoard list
als Shell-Plugin ausführen und einen parametrisierten Befehl auswählen, fragt hoard
nach der Eingabe aller fehlenden Parameter, bevor der vollständige Befehl an Ihre Shell-Eingabe gesendet wird.
Wenn im lokalen Verzeichnis eine trove.yml
Datei vorhanden ist, lädt hoard
nur diese Trove-Datei und zeigt nicht Ihren „globalen“ Fund an! (Bearbeiten Sie ~/.config/hoard/config.yml read_from_current_directory
, um es zu deaktivieren.)
Drücken Sie beim Ausführen hoard list
oder über die Hoard-Verknüpfung Ctrl-a
, um nach einer Eingabeaufforderung gefragt zu werden. Beschreiben Sie, was Ihr Befehl tun soll, und chatGPT erstellt und speichert einen neuen Befehl basierend auf Ihrer Eingabeaufforderung.
Wenn Sie noch kein OpenAI-Konto zum Generieren eines API-Schlüssels haben, besuchen Sie diese Seite. (Angesichts der geringen Menge an verbrauchten Token ist dies äußerst günstig. ~ 0,01 $ für 30 generierte Befehle)
Sie müssen entweder die Umgebungsvariable festlegen
export OPENAI_API_KEY=abcabcabc
Oder legen Sie für eine dauerhafte Lösung gpt_api_key
in Ihrer ~/.config/hoard/config.yml
fest
chatGPT antwortet nicht immer im gleichen Format. Manchmal wird der resultierende Befehl der Beschreibung hinzugefügt. Verwenden Sie den Bearbeitungsmodus <TAB>/<Ctrl-E>
um den gehorteten Befehl in die richtige Form zu bringen.
Mithilfe hoard sync
können Sie Ihre Befehle in mehreren Terminals synchron halten
Registrieren Sie zunächst ein neues Konto
hoard sync register
Dann melden Sie sich mit Ihrem neuen Konto an
hoard sync login
Speichern Sie Ihre lokalen Befehle online
hoard sync save
Melden Sie sich mit demselben Konto auf einem anderen Computer/Terminal an und führen Sie es dann aus
hoard sync get
Dadurch wird Ihre lokale Trove-Datei mit der cloudbasierten Datei zusammengeführt. Sie werden aufgefordert, mit etwaigen Kollisionen umzugehen. Wenn Sie jedoch mit dem Ablauf der Zusammenführung unzufrieden sind, haben Sie die Möglichkeit, den neuesten Befehl hoard sync get
“ zurückzusetzen
hoard sync revert
Wenn Sie Ihren eigenen Synchronisierungsserver hosten möchten, überprüfen Sie dessen Repository. Aktualisieren Sie dann Ihre Konfigurationsdatei so, dass sie auf den neuen Serverstandort ~/.config/hoard/config.yml
verweist
hoard remove <name>
hoard remove_namespace <namespace_name>
hoard edit <name>
Zeigt den Speicherort der Konfigurationsdatei und der Trove-Datei an
hoard info
Parameter-Token der Konfigurationsdatei ändern
hoard set_parameter_token <parameter_token>
trove.yml
oder URLs, die auf eine trove.yml-Datei verweisen hoard import /path/to/trove.yml
oder
hoard import https://troves.com/new_trove.yml
hoard export /path/to/exported/trove.yml
Liste der Befehle in der GUI anzeigen
<F1>
Nächstes Element in der Befehlsliste
<Ctrl-N> / <Down-Arrow>
Vorheriges Element in der Befehlsliste
<Ctrl-P> / <Ctrl-Y> / <Up-Arrow>
Nächste Namespace-Registerkarte
<Ctrl-L> / <Right-Arrow>
Vorheriger Namespace-Tab
<Ctrl-H> / <Left-Arrow>
Befehl auswählen
<Enter>
Aufhören
<Esc> / <Ctrl-D> / <Ctrl-C> / <Ctrl-G>