以终端目录与上次访问的 VIFM 目录相同的方式离开 VIFM

以终端目录与上次访问的 VIFM 目录相同的方式离开 VIFM

我正在努力实现标题中描述的目标。我按照这些指示(http://sourceforge.net/p/vifm/feature-requests/24/)但他们没有工作。以下是我遵循的说明:

  1. 将特殊命令添加到 vifmrc 命令 Q :execute '!echo %d > ~/.vifm/lastdir' |辞职
  2. .bashrc 中添加别名 alias vifm='source ~/bin/vf'
  3. 将以下脚本保存到 ~/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”文件夹,然后在新的“bin”中创建一个“vf”文件,然后放置(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.

相关内容