Fasd: viminfo con neovim

Creado en 10 may. 2016  ·  6Comentarios  ·  Fuente: clvv/fasd

Estaba tratando de hacer que fasd funcionara con el equivalente de viminfo de neovim, que es shada .

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

¿Alguien ha tenido suerte con esto? Supongo que el archivo shada no tiene el mismo formato que viminfo y, por lo tanto, la solución es que necesito crear un nuevo backend. Solo quería preguntar aquí en caso de que alguien más ya haya golpeado esto.

Comentario más útil

esto es todo lo que hago

¡Incluso puedo acceder a él con fzf en neovim!

Todos 6 comentarios

Hice algo similar con la interfaz python de neovim.

puedes comprobarlo
https://github.com/haifengkao/nfasd

esto es todo lo que hago

¡Incluso puedo acceder a él con fzf en neovim!

¡¡brillante!!
nfasd ha ido más allá del objetivo original. Ahora tiene finalización de carpetas y una mejor ordenación de archivos.
en realidad lo estoy usando para reemplazar fasd gradualmente.
además, está escrito en Python (~_^)

EDITAR : No importa, la solución de @nhooyr funciona perfectamente .


Creo que esta discusión se desvió. Lo que necesito (y creo que @rosshadden también) es fasd para indexar, e incluir como una opción en sus resultados, archivos que he abierto solo desde dentro de NeoVim.

Cómo reproducir:

  1. Abra NeoVim.
  2. Abra un archivo (por ejemplo :e file.sh ).
  3. Salga de NeoVim.
  4. Intenta referirte a file.sh usando $ neovim f,file.sh<TAB> .
  5. Fracaso miserablemente ya que fasd no sabe que alguna vez abrí file.sh .

También pensé que sería una buena idea escribir un back-end para neovim. Habiendo dicho eso, creo que la solución vim-script anterior funciona lo suficientemente bien para mí, así que me quedaré con eso por ahora. ¿No funcionaría bien en el archivo Léame o en algún lugar de la wiki o algo así?

aquí hay un backend fasd aproximado para el archivo shada de neovim. Tengo esto en mi ~/.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
        }'
}
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

josephholsten picture josephholsten  ·  15Comentarios

ghost picture ghost  ·  12Comentarios

sypl picture sypl  ·  12Comentarios

mhlinder picture mhlinder  ·  3Comentarios

sindresorhus picture sindresorhus  ·  11Comentarios