<p>fasd_cd рдХрдорд╛рдВрдб ubuntu bash . рдирд╣реАрдВ рдорд┐рд▓рд╛</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЬреВрди 2013  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: clvv/fasd

рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХреЛрдИ fasd_cd рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред

рдЖрдкрдХреЗ bashrc рдореЗрдВ рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди z рдФрд░ zz рддреНрд░реБрдЯрд┐ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдЧрд╛
рд╕рдорд╛рд░реЛрд╣ fasd_cd {
[ "$2" = '-i'] && {рд╕реАрдбреА fasd -id "$1" | awk '{рдкреНрд░рд┐рдВрдЯ "$2"}'; рд╡рд╛рдкрд╕реА; }
{ рд╕реАрдбреА fasd -d "$1" -1 | awk '{рдкреНрд░рд┐рдВрдЯ "$2"}'; рд╡рд╛рдкрд╕реА; }
}

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

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ eval "$(fasd --init auto)" ред рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

fasd --init auto рдпрджрд┐ fasd рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реИ, рдФрд░ рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ z рдФрд░ fasd рднрд┐рдиреНрди рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рд╢реЗрд▓ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк fasd рд╕реНрд░реЛрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдЖрдк z ред

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

+1, рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рди рддреЛ рдЙрдмрдВрдЯреВ рдкрд░ рдФрд░ рди рд╣реА рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдиреЗ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИ?

рдореИрдВ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЙрдмрдВрдЯреВ рдкрд░ fasd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

bash:
  Installed: 4.3-7ubuntu1.5
  Candidate: 4.3-7ubuntu1.5
  Version table:
 *** 4.3-7ubuntu1.5 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
        100 /var/lib/dpkg/status
     4.3-6ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

рдореЗрд░реЗ .bashrc рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИрдВ:

fasd_cache="$HOME/.fasd-init-bash"
if [ "$(command -v fasd)" -nt "$fasd_cache" -o ! -s "$fasd_cache" ]; then
    fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install >| "$fasd_cache"
fi
source "$fasd_cache"
unset fasd_cache

# fasd completions
alias ei='e -i'
alias k='f -e kate'
alias l='f -e less'
alias n='f -e nano'
alias o='a -e xdg-open'
alias zi='z -i'

_fasd_bash_hook_cmd_complete ei k l n o zi

+1 рдореЗрд░реЗ рд▓рд┐рдП рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ fasd_cd рдкрд░рд┐рднрд╛рд╖рд╛ рдЖрдкрдХреЗ рд╢реЗрд▓ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓ рд░рд╣реА рд╣реИ rc ред рдХреГрдкрдпрд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдиреЛрдЯреНрд╕ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪреЗрдВ рдФрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЗрдирд┐рдЯ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рд╢реЗрд▓ рдореЗрдВ рдбрд╛рд▓реЗрдВ rc ред

рд╢реЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ init рдХрдорд╛рдВрдб, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╣реЛрдордмреНрд░реЗ рдФрд░ рдПрдкреАрдЯреА-рдЧреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рддред рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж OSX El Capitan рдмреАрдЯрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдЗрд╕реЗ рдЙрдмрдВрдЯреВ рдкрд░ рдЦрд░рд╛рдм рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реВрдВред

@FranzSkuffka

  1. рдЖрдк рдХрд┐рд╕ рдЦреЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? ( echo $SHELL рдЪрд▓рд╛рдПрдВ)
  2. рдХреНрдпрд╛ fasd рдЖрдкрдХреЗ рд╢реЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? ( which fasd рдЪрд▓рд╛рдПрдВ)
  3. рдЖрдкрдиреЗ fasd init рдХреЛрдб рдХрд╣рд╛рдВ рд░рдЦрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рдЦреЛрд▓ рджреНрд╡рд╛рд░рд╛ рд╕реЛрд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? echo test рдпрд╛ fasd init рдХреЛрдб рдХреЗ рдмрд╛рдж рдХреБрдЫ рдбрд╛рд▓реЗрдВ рдФрд░ рдЕрдкрдирд╛ рд╢реЗрд▓ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред
  4. рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреНрдпрд╛ рд╣реИрдВ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ?

_рджреЛрдиреЛрдВ рдорд╢реАрдиреЛрдВ рдореЗрдВ рд╕рдорд╛рди zshrc_ рд╣реИ
рдЙрдмрдВрдЯреВ (рдЕрднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХреНрдпреЛрдВ)


[~] echo $SHELL                                                                                                                                                                               
/usr/bin/zsh
[~] which fasd                                                                                                                                                                                
/home/jan/bin/fasd
[~] fasd                                                                                                                                                                                      
...
test
[~] fasd_cd
...

рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдирд╣реАрдВ

рдУрдПрд╕рдПрдХреНрд╕ (рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛)


[/home] echo $SHELL
/bin/zsh
[/home] which fasd
/usr/local/bin/fasd
[/home] fasd
...
test
[/home] fasd_cd
zsh: command not found: fasd_cd

рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА init рдХрдорд╛рдВрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ? fasd --init auto ?

рд╣рд╛рдВ

[~] fasd --init auto
{ if [ "$ZSH_VERSION" ] && compctl; then # zsh
    eval "$(fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install \
      zsh-wcomp zsh-wcomp-install)"
  elif [ "$BASH_VERSION" ] && complete; then # bash
    eval "$(fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install)"
  else # posix shell
    eval "$(fasd --init posix-alias posix-hook)"
  fi
} >> "/dev/null" 2>&1
[~] fasd_cd
zsh: command not found: fasd_cd

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдореБрджреНрджрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд░реВрдкрд╛ рдХреЗ z рдХреЗ рд╕рд╛рде рддрдм рддрдХ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реВрдБ рдЬрдм рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ eval "$(fasd --init auto)" ред рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

fasd --init auto рдпрджрд┐ fasd рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реИ, рдФрд░ рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ z рдФрд░ fasd рднрд┐рдиреНрди рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рд╢реЗрд▓ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк fasd рд╕реНрд░реЛрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдЖрдк z ред

echo 'eval "$(fasd --init auto)"' >> ~/.zshrc
source ~/.zshrc

рдпрджрд┐ рдЖрдк рдмреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ zshrc рдХреЛ bashrc рдмрджрд▓реЗрдВ

рдпрд╣ рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореЗрд░реА рддреНрд░реБрдЯрд┐ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

rosshadden picture rosshadden  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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

simendsjo picture simendsjo  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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