Ich habe versucht, fasd
mit neovims Äquivalent zu viminfo, nämlich shada , zum Laufen zu bringen.
_FASD_VIMINFO="$XDG_DATA_HOME/nvim/shada/main.shada"
Hat jemand damit Glück gehabt? Ich vermute, die Shada-Datei hat nicht das gleiche Format wie viminfo, und daher besteht die Lösung darin, dass ich ein neues Backend erstellen muss. Wollte hier nur mal fragen, falls jemand anders schon mal darauf gestoßen ist.
Ich habe etwas Ähnliches mit der Python-Schnittstelle von neovim gemacht.
Sie können es überprüfen
https://github.com/haifengkao/nfasd
das ist alles, was ich tue https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80
Ich kann sogar mit fzf in neovim darauf zugreifen!
brillant!!
nfasd ist über das ursprüngliche Ziel hinausgegangen. Es verfügt jetzt über eine Ordnervervollständigung und eine bessere Dateireihenfolge.
Eigentlich verwende ich es, um fasd schrittweise zu ersetzen.
außerdem ist es in Python geschrieben (~_^)
BEARBEITEN : Vergiss es, die Lösung von @nhooyr funktioniert perfekt .
Ich glaube, diese Diskussion wurde abgelenkt. Was ich brauche (und @rosshadden , glaube ich auch), ist, dass fasd
Dateien indiziert – und als Option in die Ergebnisse einbezieht –, die ich nur aus NeoVim heraus geöffnet habe.
:e file.sh
).$ neovim f,file.sh<TAB>
auf file.sh
zu verweisen.fasd
nicht weiß, dass ich jemals file.sh
geöffnet habe.Ich dachte auch, dass es eine gute Idee wäre, ein Backend für neovim zu schreiben. Abgesehen davon denke ich, dass die obige Vim-Skript-Lösung für mich gut genug funktioniert, also bleibe ich vorerst dabei. Würde das nicht gut in der Readme oder irgendwo im Wiki oder so funktionieren?
Hier ist ein grobes Fasd-Backend für Neovims Shada-Datei. Ich habe das in meinem ~/.fasdrc
:
shada() {
~/code/neovim/scripts/shadacat.py ~/.local/share/nvim/shada/main.shada 'entry.type.value == 10' | \
sed -n "s/^.*'f': '\([^']*\)'.*$/\1/p" | \
awk -v t="$(date +%s)" '{
if (!seen[$0]) {
t -= 60
print $0 "|1|" t
}
seen[$0] = 1
}'
}
Hilfreichster Kommentar
das ist alles, was ich tue https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80
Ich kann sogar mit fzf in neovim darauf zugreifen!