Я пытался заставить fasd
работать с эквивалентом viminfo от neovim, то есть shada .
_FASD_VIMINFO="$XDG_DATA_HOME/nvim/shada/main.shada"
Кому-нибудь повезло с этим? Я предполагаю, что файл shada не в том же формате, что и viminfo, и поэтому решение состоит в том, что мне нужно создать новый бэкэнд. Просто хотел спросить здесь, если кто-то уже ударил это.
Я сделал что-то подобное с интерфейсом Python для neovim.
Вы можете проверить это
https://github.com/haifengkao/nfasd
это все, что я делаю https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80
Я даже могу получить к нему доступ с помощью fzf в neovim!
гениально!!
nfasd вышел за рамки первоначальной цели. Теперь в нем есть завершение папок и улучшенный порядок файлов.
на самом деле я использую его для постепенной замены fasd.
кроме того, он написан на Python (~_^)
РЕДАКТИРОВАТЬ : Неважно, решение @nhooyr работает отлично .
Я считаю, что это обсуждение ушло в сторону. Что мне нужно (и @rosshadden , я думаю, тоже), так это чтобы fasd
проиндексировал — и включил в качестве опции в свои результаты — файлы, которые я открывал только из NeoVim.
:e file.sh
).file.sh
, используя $ neovim f,file.sh<TAB>
.fasd
не знает, что я когда-либо открывал file.sh
.Еще я подумал, что было бы неплохо написать бэкенд для neovim. Сказав это, я думаю, что решение vim-script, описанное выше, работает достаточно хорошо для меня, поэтому я пока просто буду придерживаться его. Разве это не будет хорошо работать в файле readme или где-нибудь в вики или что-то в этом роде?
вот примерный fasd-бэкэнд для файла shada от neovim. У меня есть это в моем ~/.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
Я даже могу получить к нему доступ с помощью fzf в neovim!