рдореИрдВрдиреЗ рдПрдорд╕реА (рд╕рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рд╕реЗ рдЦреЛрд▓ рдореЗрдВ рд╡рд╛рдкрд╕ рдХреВрджрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдлрд┐рд░ fasd:
$ z 32
fasd:4: unknown file attribute: _
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, MC рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдПрдХ fasd () рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╣рд╛рдВ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛ред
% which fasd
fasd () {
pwd 7 kill -STOP precmd_functions+=(_mc_precmd)
}
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ:
% unset -f fasd
% which fasd
/usr/bin/fasd
% z tmp <tab>
/tmp /home/fcelda/tmp
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ _fasd_preexec
рд╣реБрдХ _mc_precmd
рд╣реБрдХ рдХреЗ рд╕рд╛рде рд╡рд┐рд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдПрдХ рдЙрдкрд╛рдп рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдпрд╣ рд╡рд░реНрддрдорд╛рди fasd рд╣реБрдХ рд╣реИ:
% which _fasd_preexec
_fasd_preexec () {
{
eval "fasd --proc $(fasd --sanitize $1)"
} >> "/dev/null" 2>&1
}
рдФрд░ рдпрд╣ рдПрдорд╕реА рд╣реБрдХ рд╣реИ:
% which _mc_precmd
_mc_precmd () {
pwd >&7
kill -STOP $$
}
рдореИрдВрдиреЗ рдЗрд╕реЗ _fasd_preexec
рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рдХрд╛рдо рдХрд┐рдпрд╛:
% which _fasd_preexec
_fasd_preexec () {
fasd --proc "$(fasd --sanitize "$1")"
}
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХреЛрд╖реНрдардХ рдХреЗ рд╕рд╛рде рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреЛ рдмрджрд▓рдирд╛ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдк-рдЦреЛрд▓ рдЪрд▓рд╛рдирд╛ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдмрд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╕рдлрд▓рддрд╛ рдХреЗ рдмрд┐рдирд╛ _fasd_preexec
рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред
рдореИрдВ рдЗрд╕реЗ _fasd_preexec () рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВред рд╕рд╛рджрд░ @fcelda
рдЖрдкрдХреЗ .zshrc . рдореЗрдВ
if ps $PPID |grep -q mc; then
_fasd_preexec () {
fasd --proc "$(fasd --sanitize "$1")"
}
endif
рдпрджрд┐ рдЖрдк fasd_cd
рдХреЛ fasd
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рдкреВрд░реНрдг рдкрде рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ fasd рдлрд╝рдВрдХреНрд╢рди рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реЛрдЧрд╛ред рдФрд░ рдЖрдкрдХреЗ рд╕рднреА рдЙрдкрдирд╛рдо рдЬреИрд╕реЗ z
, zz
рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
PS рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ README.md рдореЗрдВ рдЪрд╛рд╣рд┐рдП?
@ezh рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ ReadMe рдореЗрдВ рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣рд░ рд╕рдВрднрд╡ рдордВрдЪ рдкрд░ рдореЗрд░рд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреА рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕реЗ рд░реАрдбрдореА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рдХреНрд╕ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдЗрд╕реЗ _fasd_preexec () рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВред рд╕рд╛рджрд░ @fcelda
рдЖрдкрдХреЗ .zshrc . рдореЗрдВ
рдпрджрд┐ рдЖрдк
fasd_cd
рдХреЛfasd
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рдкреВрд░реНрдг рдкрде рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ fasd рдлрд╝рдВрдХреНрд╢рди рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реЛрдЧрд╛ред рдФрд░ рдЖрдкрдХреЗ рд╕рднреА рдЙрдкрдирд╛рдо рдЬреИрд╕реЗz
,zz
рдХрд╛рдо рдХрд░реЗрдВрдЧреЗредPS рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ README.md рдореЗрдВ рдЪрд╛рд╣рд┐рдП?