Fasd: рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рд╕рд╛рде viminfo

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рдордИ 2016  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: clvv/fasd

рдореИрдВ fasd рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдХрд┐ рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рд╕рдордХрдХреНрд╖ viminfo рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬреЛ рдХрд┐ shada рд╣реИред

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

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рднрд╛рдЧреНрдп рдорд┐рд▓рд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдбрд╛ рдлрд╝рд╛рдЗрд▓ viminfo рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рдмреИрдХрдПрдВрдб рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрд╕ рдпрд╣рд╛рдВ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдорд╛рд░рд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдмрд╕ рдЗрддрдирд╛ рд╣реА рдХрд░рддрд╛ рд╣реВрдБ https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80

рдореИрдВ рдЗрд╕реЗ рдирд┐рдпреЛрд╡рд┐рдо рдореЗрдВ fzf рдХреЗ рд╕рд╛рде рднреА рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ!

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдмрдирд╛рдпрд╛ рд╣реИред

рдЖрдк рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
https://github.com/haifengkao/nfasd

рдореИрдВ рдмрд╕ рдЗрддрдирд╛ рд╣реА рдХрд░рддрд╛ рд╣реВрдБ https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80

рдореИрдВ рдЗрд╕реЗ рдирд┐рдпреЛрд╡рд┐рдо рдореЗрдВ fzf рдХреЗ рд╕рд╛рде рднреА рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ!

рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА!!
nfasd рдореВрд▓ рд▓рдХреНрд╖реНрдп рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЕрдм рдлреЛрд▓реНрдбрд░ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдмреЗрд╣рддрд░ рдлрд╛рдЗрд▓ рдСрд░реНрдбрд░рд┐рдВрдЧ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдзреАрд░реЗ-рдзреАрд░реЗ fasd рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ (~_^)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, @nhooyr рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ред


рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдХрд┐рдирд╛рд░реЗ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдЬреЛ рдЪрд╛рд╣рд┐рдП (рдФрд░ @rosshadden рднреА рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ) рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП fasd рдХреЗ рд▓рд┐рдП рд╣реИ- рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ- рдлрд╛рдЗрд▓реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдирд┐рдпреЛрд╡рд┐рдо рдХреЗ рдЕрдВрджрд░ рд╕реЗ рдЦреЛрд▓рд╛ рд╣реИред

рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВ:

  1. рдирд┐рдпреЛрд╡рд┐рдо рдЦреЛрд▓реЗрдВред
  2. рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ (рдЬреИрд╕реЗ :e file.sh )ред
  3. рдирд┐рдпреЛрд╡рд┐рдо рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред
  4. $ neovim f,file.sh<TAB> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ $ neovim f,file.sh<TAB> file.sh рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
  5. рдмреБрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдлрд▓ рдХреНрдпреЛрдВрдХрд┐ fasd рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрднреА file.sh рдЦреЛрд▓рд╛ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣ рднреА рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдирд╡рд╡рд┐рдо рдХреЗ рд▓рд┐рдП рдмреИрдХ-рдПрдВрдб рд▓рд┐рдЦрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд╣рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд┐рдо-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рдЗрд╕рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдпрд╣ рд░реАрдбрдореА рдкрд░ рдпрд╛ рдХрд╣реАрдВ рд╡рд┐рдХрд┐ рдпрд╛ рдХреБрдЫ рдФрд░ рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛?

рдпрд╣рд╛рдБ рдирд┐рдпреЛрд╡рд┐рдо рдХреА рд╢рд╛рдбрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдЯрд╛ рдмреИрдХрдПрдВрдб рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдореЗрд░реЗ ~/.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 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

josephholsten picture josephholsten  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sindresorhus picture sindresorhus  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ixil picture ixil  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sypl picture sypl  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pearofducks picture pearofducks  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ