Problem Bei Verwendung des interaktiven Filters ist es häufig bequemer, das Ergebnis im Verlauf als im Befehl zu belassen.
#Beispiel: Öffnen Sie die mit fzf ausgewählte Datei mit vim
alias v='_vim_fzf'
_vim_fzf () {
local file
file=$(fzf +m -q "$1") && vim "$file"
}
Im obigen Fall wird die ausgewählte Datei auch dann nicht angezeigt, wenn Sie zum Verlauf zurückkehren.
Solution Bash verwendet "history -s".
_vim_fzf () {
local file
file=$(fzf +m -q "$1") && history -s "vim $file" && vim "$file"
}
Wenn Sie es so umschreiben, wird "vim [ausgewählte Datei]" anstelle des Befehls "v" im Verlauf aufgezeichnet, sodass Sie die Datei mit Strg-R oder Strg-P erneut öffnen können.
Further Work (Zsh)
In Zsh scheint print -s
gleichwertig zu sein.
$ print -s "alternative command"
$ history
# ...
# 99 print -s "alternative command"
# 100 alternative command
Das Problem ist, dass der Befehl print
selbst auch wie oben gespeichert wird. Bitte lassen Sie mich wissen, ob es einen besseren Weg gibt mm
Recommended Posts