
Я пытаюсь добиться того, что описано в заголовке. Я следовал этим указаниям (http://sourceforge.net/p/vifm/feature-requests/24/) но они не сработали. Вот инструкции, которым я следовал:
- Добавить специальную команду в команду vifmrc Q :execute '!echo %d > ~/.vifm/lastdir' | quit
- Добавьте псевдоним в .bashrc alias vifm='source ~/bin/vf'
- Сохраните следующий скрипт в ~/bin/vf if [ -f ~/.vifm/lastdir ]; затем rm ~/.vifm/lastdir fi /usr/local/bin/vifm "$@" if [ -f ~/.vifm/lastdir ]; затем cd cat ~/.vifm/lastdir fi
Я очень скептически отношусь к (3). Мне пришлось создать папку "bin" в моем домашнем каталоге, а затем создать файл "vf" в новом "bin", чтобы затем поместить текст, описанный в (3). Правильно ли я действовал?
решение1
Может быть, вам просто нужно зайти в терминал? Просто сделайте это в vifm
:sh
Если вам нужно снова войти в vifm, вам нужно просто сделать это
exit <OR> ctrl-D
но вы входите в vifm в том же каталоге, в который вы вошли в этот терминал.
решение2
Возможно, здесь поможет переформатирование желаемого скрипта. Он должен выглядеть примерно так:
~/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
Обратите внимание, в частности, на обратные тиковые знаки вокруг cat
команды в предпоследней строке, они, похоже, пропали из вашей версии и довольно важны. Я также добавил дополнительные "
вокруг аргумента на cd
случай, если в вашем текущем каталоге есть пробелы.
Это действительно ужасный хак, чтобы заставить вашу программу выглядеть так, будто она делает что-то, что программы обычно не могут делать. Но если это помогает вам выполнять работу, отлично.
решение3
Перейдите в нужную вам директорию в vifm. И введите :e
. Затем вы можете использовать :terminal
.