Fasd: viminfo 与 neovim

创建于 2016-05-10  ·  6评论  ·  资料来源: clvv/fasd

我试图让fasd与 neovim 等效的 viminfo 一起工作,即shada

_FASD_VIMINFO="$XDG_DATA_HOME/nvim/shada/main.shada"

有没有人有这方面的运气? 我猜测 shada 文件的格式与 viminfo 不同,因此解决方案是我需要创建一个新的后端。 只是想在这里问一下,以防其他人已经打过这个。

最有用的评论

这就是我所做的一切https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80

我什至可以在 neovim 中使用 fzf 访问它!

所有6条评论

我用neovim的python接口做了类似的事情。

你可以检查一下
https://github.com/haifengkao/nfasd

这就是我所做的一切https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80

我什至可以在 neovim 中使用 fzf 访问它!

杰出的!!
nfasd已经超越了最初的目标。 它现在具有文件夹完成功能和更好的文件排序功能。
实际上我正在使用它来逐渐替换 fasd。
此外,它是用 Python 编写的 (~_^)

编辑:没关系, @nhooyr解决方案效果很好


我相信这个讨论被搁置了。 我需要(我也相信@rosshadden )是为fasd建立索引——并在其结果中包含一个选项——我仅从 NeoVim 内部打开的文件。

如何重现:

  1. 打开 NeoVim。
  2. 打开一个文件(例如:e file.sh )。
  3. 退出 NeoVim。
  4. 尝试使用$ neovim f,file.sh<TAB>引用file.sh #$ 。
  5. 惨遭失败,因为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
        }'
}
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

mhlinder picture mhlinder  ·  3评论

sypl picture sypl  ·  12评论

rendybjunior picture rendybjunior  ·  14评论

ghost picture ghost  ·  12评论

sindresorhus picture sindresorhus  ·  11评论