[LINUX] Je souhaite laisser une commande arbitraire dans l'historique des commandes de Shell

Problem Lors de l'utilisation du filtre interactif, il est souvent plus pratique de laisser le résultat dans l'historique plutôt que dans la commande.

#Exemple: ouvrir le fichier sélectionné avec fzf avec vim
alias v='_vim_fzf'
_vim_fzf () {
  local file
  file=$(fzf +m -q "$1") && vim "$file"
}

Dans le cas ci-dessus, le fichier sélectionné n'apparaît pas même si vous revenez à l'historique.

Solution Bash utilise history -s.

_vim_fzf () {
  local file
  file=$(fzf +m -q "$1") && history -s "vim $file" && vim "$file"
}

Si vous le réécrivez comme ceci, vim [fichier sélectionné] sera enregistré dans l'historique au lieu de la commande v, vous pouvez donc rouvrir le fichier avec Ctrl-R ou Ctrl-P.

Further Work (Zsh) Dans Zsh, il semble que print -s soit équivalent.

$ print -s "alternative command"
$ history
# ...
#  99 print -s "alternative command"
# 100 alternative command

Le problème est que la commande print elle-même est également enregistrée comme ci-dessus. S'il vous plaît laissez-moi savoir s'il y a une meilleure façon mm

Recommended Posts

Je souhaite laisser une commande arbitraire dans l'historique des commandes de Shell
Je veux connaître la population de chaque pays du monde.
[Pour les débutants] Je souhaite expliquer le nombre d’apprentissage d’une manière facile à comprendre.
Je souhaite extraire une URL arbitraire de la chaîne de caractères de la source html avec python
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
Je souhaite trier une liste dans l'ordre des autres listes
Je veux colorer une partie de la chaîne Excel avec Python
Je souhaite personnaliser l'apparence de zabbix
Je veux afficher la progression en Python!
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Je souhaite définir un cycle de vie dans la définition de tâche d'ECS
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Je veux grep le résultat de l'exécution de strace
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux automatiser ssh en utilisant la commande expect!
Je veux utiliser le jeu de données R avec python
Je souhaite augmenter la sécurité de la connexion SSH
Je souhaite également utiliser les commandes Linux à l'invite de commande! Utilisez les commandes Linux à l'invite de commande au lieu de Git Bash
Je veux automatiser ssh en utilisant la commande expect! partie 2
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Je veux déterminer l'authenticité d'un élément du tableau numpy
Je veux connaître la nature de Python et pip
Je veux rendre le type de dictionnaire dans la liste unique
Keras Je veux obtenir la sortie de n'importe quelle couche !!
Je veux aligner les nombres valides dans le tableau Numpy
Je veux connaître la légende du monde des technologies informatiques
Je ne voulais pas écrire la clé AWS dans le programme
linux / c> lien> Obtenir le résultat de l'exécution de la commande shell dans le programme C> On m'a appris à utiliser popen ()
Dans la commande python, python pointe vers python3.8
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
J'ai créé un programme en Python qui change les données de 1 minute de FX en une heure arbitraire (1 heure, etc.)
Comment émettre intentionnellement une erreur dans le shell pendant les tests
Je veux obtenir le nom de la fonction / méthode en cours d'exécution
[Linux] J'ai essayé de résumer les commandes de confirmation des ressources
[Pytorch] Je souhaite attribuer manuellement les paramètres d'entraînement du modèle
Comment connaître la structure interne d'un objet en Python
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
Je veux lire la version html de la version "OpenCV-Python Tutorials" OpenCV 3.1
Développement LINEbot, je souhaite vérifier le fonctionnement dans l'environnement local
J'ai essayé de faire 5 modèles de base d'analyse en 3 ans
Je veux faire de la deuxième ligne le nom de la colonne dans pandas
Je veux réussir le test G dans un mois Jour 1
Je veux vérifier la position de mon visage avec OpenCV!
J'ai utilisé la commande coupe du monde pour vérifier le résultat de la Coupe du monde.
J'ai fait une commande pour afficher un calendrier coloré dans le terminal
Je veux épingler Spyder à la barre des tâches
Je veux sortir froidement sur la console
J'ai essayé de résumer la commande umask
L'histoire d'une erreur dans PyOCR
Je veux imprimer dans la notation d'inclusion
Je veux gérer la rime part1
Je veux gérer la rime part3
Je veux afficher la barre de progression
Je veux intégrer Matplotlib dans PySimpleGUI
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
Je veux changer la couleur en cliquant sur le point de dispersion dans matplotlib