Für diese Plattform ist keine fasd_cd-Funktion definiert.
Die folgende Funktion in Ihrer Bashrc behebt die Fehler beim Ausführen des z- und zz-Fehlers
Funktion fasd_cd {
[ "$2" = '-i' ] && { cd fasd -id "$1"
| awk '{print "$2"}'; Rückkehr; }
{ cd fasd -d "$1" -1
| awk '{print "$2"}'; Rückkehr; }
}
+1, funktioniert bei mir immer noch weder auf Ubuntu noch auf osx. Hat dieses Problem Fortschritte gemacht?
Ich benutze fasd seit Jahren unter Ubuntu. Funktioniert gut.
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
Hier sind die relevanten Zeilen aus meinem .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 Funktioniert bei mir auch nicht unter OSX.
Ich vermute, dass die Definition von fasd_cd
in Ihrer Shell rc
. Bitte überprüfen Sie die Installationshinweise und geben Sie den entsprechenden Init-Code in Ihre Shell rc
.
Init-Befehl zur Shell hinzugefügt, aber es funktioniert immer noch nicht.
über Homebrew und apt-get installiert. Dieser Fehler könnte sein, hängt aber wahrscheinlich nicht mit der OSX El Capitan Beta zusammen, da ich es immer noch schaffe, ihn unter Ubuntu zu vermasseln.
@FranzSkuffka
echo $SHELL
)fasd
von Ihrer Shell zugänglich? (laufen Sie which fasd
)fasd
Init-Code abgelegt? Wurde es wirklich von Ihrer Shell bezogen? Fügen Sie echo test
oder etwas nach fasd
init-Code ein und öffnen Sie Ihre Shell erneut._Beide Maschinen haben die gleiche zshrc_
Ubuntu (funktioniert jetzt, ich weiß nicht warum)
[~] echo $SHELL
/usr/bin/zsh
[~] which fasd
/home/jan/bin/fasd
[~] fasd
...
test
[~] fasd_cd
...
keine Fehler
OSX (funktioniert nicht)
[/home] echo $SHELL
/bin/zsh
[/home] which fasd
/usr/local/bin/fasd
[/home] fasd
...
test
[/home] fasd_cd
zsh: command not found: fasd_cd
Das ist merkwürdig. Was genau ist der Init-Befehl, den Sie verwendet haben? fasd --init auto
?
Jawohl
[~] 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
Dieses Problem ist für mich jedoch nicht dringend, ich bleibe bei rupa's z, bis das Problem gelöst ist. Werde aber bei Bedarf weitere Infos geben.
Nun, ich denke, du brauchst eval "$(fasd --init auto)"
. Das sollte funktionieren.
fasd --init auto
macht nichts mit Ihrer Shell, wenn fasd
eine ausführbare Datei ist, und hier unterscheiden sich z
und fasd
. Sie könnten jedoch fasd
Quelle verwenden, genau wie bei z
.
echo 'eval "$(fasd --init auto)"' >> ~/.zshrc
source ~/.zshrc
ändere zshrc
in bashrc
wenn du bash verwendest
Bei mir funktioniert es jetzt. Mein Fehler.
Hilfreichster Kommentar
Nun, ich denke, du brauchst
eval "$(fasd --init auto)"
. Das sollte funktionieren.fasd --init auto
macht nichts mit Ihrer Shell, wennfasd
eine ausführbare Datei ist, und hier unterscheiden sichz
undfasd
. Sie könnten jedochfasd
Quelle verwenden, genau wie beiz
.