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