outil d'organisation de commandes pour accumuler toutes vos précieuses commandes ??
Un organisateur de commandes vous permet d'enregistrer les commandes que vous utilisez souvent, mais qui sont trop compliquées ou trop longues à mémoriser. Pour chaque commande thésaurisée , hoard
#
) Si vous vous perdez dans votre historique massif de commandes et que vous ne trouvez pas, par exemple, une commande docker
spécifique parmi des milliers de commandes docker
que vous avez déjà exécutées, conservez -la simplement. Avec un nom et une description, il sera beaucoup plus facile de le retrouver. Lorsque vous rechercherez à nouveau cette commande un mois plus tard, jetez un œil à vos commandes thésaurisées .
hoard
n'est pas censé remplacer le chercheur d'historique du shell comme fzf
atuin
ou des utilitaires similaires. Il devrait plutôt être utilisé conjointement avec eux.
Maintenant avec l'intégration chatGPT ?
Il est préférable d'utiliser rustup pour configurer une chaîne d'outils Rust, puis vous pouvez exécuter :
cargo install hoard-rs
Ou construisez-le vous-même :
cargo build --release
Recherchez les binaires dans ./target/release/hoard
Déplacez-les là où vous en avez besoin (comme /usr/local/bin/hoard
) Ou exécutez
cargo install --path .
Testé sur :
Installez hoard
en exécutant
./install.sh
Si vous utilisez des coquilles fish
LATEST_RELEASE=1.4.2 ./install.fish
paru -S hoard
brew tap Hyde46/hoard
brew install hoard
sudo port install hoard-cli
Plus d'infos ici
Il est préférable d'installer à partir des sources, bonne chance
Installez hoard
en tant que plugin pour activer la saisie semi-automatique. En fonction de votre shell, exécutez l'une des commandes suivantes. Pour le conserver installé pour votre prochaine session shell, ajoutez la commande source
avec un chemin absolu vers votre .bashrc
ou copiez-collez le contenu du plugin dans votre .bashrc
.
source src/shell/hoard.bash
source src/shell/hoard.zsh
source src/shell/hoard.fish
Le package hoard se trouve dans le référentiel de packages nixpkgs.
Soit installez-le avec nix-env -iA hoard
, récupérez-le temporairement avec nix-shell -p hoard
ou ajoutez-le à votre configuration.
hoard new
Si un paramètre n'est pas connu lors de l'enregistrement de la commande, mettez un #
( Ou votre token personnalisé depuis votre ~/.config/hoard/config.yml
) Vous pouvez également nommer vos paramètres comme ceci :
echo "My name is #first and I live at #city. Did I tell you my name, #first?"
Lorsque vous mettez #first
vous ne devez le faire qu'une seule fois pour chaque occurrence de la commande. Un nom de paramètre est défini comme tout ce qui est suivi du jeton jusqu'à ce que le premier caractère espace soit trouvé. Alternativement, vous pouvez déterminer où se termine le paramètre nommé en mettant un !
(Ou votre jeton personnalisé depuis votre ~/.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>
Ou bien, si elle n'est pas installée en tant que plugin, la recherche interactive peut toujours être effectuée, mais sans saisie semi-automatique. Cela suppose que l'utilisateur copie la commande avec la souris depuis l'interface utilisateur
hoard list
Lorsque vous exécutez hoard list
en tant que plugin shell et que vous sélectionnez une commande paramétrée, hoard
demandera à saisir tous les paramètres manquants avant d'envoyer la commande complète à votre entrée shell.
S'il y a un fichier trove.yml
présent dans le répertoire local, hoard
chargera uniquement ce fichier trove et n'affichera pas votre trésor « global » ! (Modifiez ~/.config/hoard/config.yml read_from_current_directory
pour désactiver)
Lors de l'exécution hoard list
ou via le raccourci de trésors, appuyez sur Ctrl-a
pour recevoir une invite. Décrivez ce que votre commande est censée faire, et chatGPT créera et accumulera une nouvelle commande en fonction de votre invite.
Si vous ne disposez pas déjà d'un compte OpenAI pour générer une clé API, rendez-vous sur cette page. (Compte tenu de la faible quantité de jetons consommés, c'est extrêmement bon marché. ~ 0,01$ pour 30 commandes générées)
Vous devez soit définir la variable env
export OPENAI_API_KEY=abcabcabc
Ou pour une solution permanente, définissez gpt_api_key
dans votre ~/.config/hoard/config.yml
chatGPT ne répond pas toujours dans le même format. Parfois, la commande résultante sera ajoutée à la description. Utilisez le mode d'édition <TAB>/<Ctrl-E>
pour modifier la commande thésaurisée dans sa forme correcte.
Vous pouvez synchroniser vos commandes sur plusieurs terminaux en utilisant hoard sync
Enregistrez d’abord un nouveau compte
hoard sync register
Connectez-vous ensuite avec votre nouveau compte
hoard sync login
Enregistrez vos commandes locales en ligne
hoard sync save
Connectez-vous avec le même compte sur un autre ordinateur/terminal, puis exécutez
hoard sync get
Cela fusionnera votre fichier Trove local avec celui basé sur le cloud. Vous serez invité à savoir comment gérer les collisions, le cas échéant. Cependant, si vous n'êtes pas satisfait de la façon dont la fusion s'est produite, vous avez la possibilité d'annuler la dernière commande hoard sync get
.
hoard sync revert
Si vous souhaitez héberger votre propre serveur de synchronisation, consultez son référentiel. Ensuite, mettez à jour votre fichier de configuration pour qu'il pointe vers le nouvel emplacement du serveur ~/.config/hoard/config.yml
hoard remove <name>
hoard remove_namespace <namespace_name>
hoard edit <name>
Affiche l'emplacement du fichier de configuration et du fichier trove
hoard info
Modifier le jeton de paramètre du fichier de configuration
hoard set_parameter_token <parameter_token>
trove.yml
ou des URL pointant vers un fichier trove.yml hoard import /path/to/trove.yml
ou
hoard import https://troves.com/new_trove.yml
hoard export /path/to/exported/trove.yml
Afficher la liste des commandes dans l'interface graphique
<F1>
Élément suivant dans la liste de commandes
<Ctrl-N> / <Down-Arrow>
Élément précédent dans la liste de commandes
<Ctrl-P> / <Ctrl-Y> / <Up-Arrow>
Onglet d'espace de noms suivant
<Ctrl-L> / <Right-Arrow>
Onglet Espace de noms précédent
<Ctrl-H> / <Left-Arrow>
Sélectionnez la commande
<Enter>
Quitter
<Esc> / <Ctrl-D> / <Ctrl-C> / <Ctrl-G>