Eu tentei pular de volta para o shell do mc (usando co) e depois fasd:
$ z 32
fasd:4: unknown file attribute: _
Eu encontrei o mesmo problema. Por algum motivo, existe uma função fasd() definida no terminal MC. Não sei como foi parar lá.
% which fasd
fasd () {
pwd 7 kill -STOP precmd_functions+=(_mc_precmd)
}
A remoção da função corrige o problema:
% unset -f fasd
% which fasd
/usr/bin/fasd
% z tmp <tab>
/tmp /home/fcelda/tmp
Parece que o gancho _fasd_preexec
está em conflito com o gancho _mc_precmd
. Consegui encontrar uma solução alternativa.
Este é o gancho fasd atual:
% which _fasd_preexec
_fasd_preexec () {
{
eval "fasd --proc $(fasd --sanitize $1)"
} >> "/dev/null" 2>&1
}
E este é o gancho do MC:
% which _mc_precmd
_mc_precmd () {
pwd >&7
kill -STOP $$
}
Eu fiz funcionar eliminando a depuração em _fasd_preexec
:
% which _fasd_preexec
_fasd_preexec () {
fasd --proc "$(fasd --sanitize "$1")"
}
Não tenho certeza de como corrigir esse problema corretamente. Substituir chaves por parênteses também funcionou, mas não tenho certeza se é desejado executar um sub-shell.
Acabei de encontrar o mesmo problema. Tentei redefinir _fasd_preexec
sem sucesso.
Eu resolvo isso com a redefinição de _fasd_preexec (). Abraços @fcelda
em seu .zshrc
if ps $PPID |grep -q mc; then
_fasd_preexec () {
fasd --proc "$(fasd --sanitize "$1")"
}
endif
Além disso, você pode corrigi-lo parcialmente se redefinir fasd_cd
com o caminho completo para fasd
executável. Então você terá apenas a função fasd quebrada. E todos os seus aliases como z
, zz
funcionarão.
PS Precisamos desta informação no README.md?
@ezh Acho que será bom ter isso no ReadMe .
esse erro me recebe em todas as plataformas possíveis, então comecei a evitar a conclusão. ele deve ser adicionado no Leiame. Legal ter a correção.
Comentários muito úteis
Eu resolvo isso com a redefinição de _fasd_preexec (). Abraços @fcelda
em seu .zshrc
Além disso, você pode corrigi-lo parcialmente se redefinir
fasd_cd
com o caminho completo parafasd
executável. Então você terá apenas a função fasd quebrada. E todos os seus aliases comoz
,zz
funcionarão.PS Precisamos desta informação no README.md?