
Ich versuche, das zu erreichen, was im Titel beschrieben wurde. Ich bin diesen Anweisungen gefolgt (http://sourceforge.net/p/vifm/feature-requests/24/), aber sie haben nicht funktioniert. Hier sind die Anweisungen, die ich befolgt habe:
- Fügen Sie dem vifmrc-Befehl einen speziellen Befehl hinzu Q :execute '!echo %d > ~/.vifm/lastdir' | quit
- Fügen Sie einen Alias zu .bashrc alias vifm='source ~/bin/vf' hinzu
- Speichern Sie das folgende Skript in ~/bin/vf if [ -f ~/.vifm/lastdir ]; then rm ~/.vifm/lastdir fi /usr/local/bin/vifm "$@" if [ -f ~/.vifm/lastdir ]; then cd cat ~/.vifm/lastdir fi
Bei (3) bin ich am skeptischsten. Ich musste in meinem Home-Verzeichnis einen Ordner "bin" anlegen und dann innerhalb des neuen "bin" eine Datei "vf" erstellen, um dann den in (3) beschriebenen Text einzufügen. Habe ich hier richtig vorgegangen?
Antwort1
Vielleicht musst du einfach zum Terminal gehen? Mach das einfach in vifm
:sh
Wenn Sie wieder zu vifm gehen müssen, müssen Sie nur dies tun
exit <OR> ctrl-D
aber Sie geben vifm in dasselbe Verzeichnis ein, in dem Sie dieses Terminal aufgerufen haben.
Antwort2
Eventuell wäre hier eine Neuformatierung des gewünschten Skripts hilfreich. Es sollte dann exakt wie folgt aussehen:
~/bin/vf
if [ -f ~/.vifm/lastdir ]; then
rm ~/.vifm/lastdir
fi
/usr/local/bin/vifm "$@"
if [ -f ~/.vifm/lastdir ]; then
cd "`cat ~/.vifm/lastdir`"
fi
Beachten Sie insbesondere die umgekehrten Häkchen um den cat
Befehl in der vorletzten Zeile. Diese scheinen in Ihrer Version zu fehlen und sind ziemlich wichtig. Ich habe auch zusätzliche "
um das Argument hinzugefügt, cd
falls Ihr aktuelles Verzeichnis Leerzeichen enthält.
Das ist wirklich ein schrecklicher Trick, um Ihr Programm so aussehen zu lassen, als würde es etwas tun, was Programme normalerweise nicht können. Aber wenn es Ihnen hilft, Ihre Arbeit zu erledigen, ist das großartig.
Antwort3
Navigieren Sie in vifm zum gewünschten Verzeichnis. Und geben Sie ein :e
. Anschließend können Sie verwenden :terminal
.