我用neovim的python接口做了类似的事情。
这就是我所做的一切https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80
我什至可以在 neovim 中使用 fzf 访问它!
杰出的!!
nfasd已经超越了最初的目标。 它现在具有文件夹完成功能和更好的文件排序功能。
实际上我正在使用它来逐渐替换 fasd。
此外,它是用 Python 编写的 (~_^)
编辑:没关系, @nhooyr的解决方案效果很好。
我相信这个讨论被搁置了。 我需要(我也相信@rosshadden )是为fasd
建立索引——并在其结果中包含一个选项——我仅从 NeoVim 内部打开的文件。
:e file.sh
)。$ neovim f,file.sh<TAB>
引用file.sh
#$ 。fasd
不知道我曾经打开过file.sh
。我还认为为neovim写一个后端是个好主意。 话虽如此,我认为上面的 vim-script 解决方案对我来说已经足够好了,所以我现在就坚持下去。 这在自述文件或 wiki 中的某个地方或其他地方不是很好用吗?
这是 neovim 的 shada 文件的粗略 fasd 后端。 我的~/.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
}'
}
最有用的评论
这就是我所做的一切https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80
我什至可以在 neovim 中使用 fzf 访问它!