我在用Ranger 终端文件浏览器在 Linux 终端中。
假设我从主目录中的命令提示符开始并启动 Ranger
user@/home/user $ ranger
ranger 打开.....并且在 ranger 程序中我探索:
/media/ubuntu/sdf675d7sf5sdfs7/some_directory
如果我随后按 q 退出 ranger,我将回到启动 ranger 的同一文件夹。即
user@/home/user $
是否有可能退出 ranger,并保留在 ranger 所在的目录中。
user@/media/ubuntu/sdf675d7sf5sdfs7/some_directory $
答案1
根据其手册
--choosedir=targetfile
Allows you to pick a directory with ranger. When you exit ranger, it will write the last visited directory into targetfile.
因此您需要做的就是创建一个这样的别名:
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
建议将此别名写入您喜欢的 shell 的 rc 中。
答案2
Shift + S
如果你点击Shift + S
,它会在当前目录打开一个新的 shell。
然后如果你击中了Ctrl + D
壳,它就会回到ranger
。
这种解决方法通常就足够了。
顺便说一句,我已经放弃文件管理器几年了,我只在我的 bashrc 中有这个,我只需使用 Tab 键完成即可浏览目录,这对我来说已经足够了:
c() {
if [ -n "$1" ]; then
cd "$1" || return 1
else
cd ..
fi
ll
}
ll() ( ls -hl --time-style="+%Y-%m-%d_%H:%M:%S" "$@"; )
答案3
我找到了一个更简单的解决方案。当你安装 ranger 时,它会将一个脚本放在你的 bin 文件夹中,如果执行该脚本,将启动该程序。但是如果你使用 source 命令,
$ 源游侠
当您退出时,它将启动 ranger 并将您放在最后访问的文件夹中。
因此,如果您希望默认采用这种行为,只需执行
$ alias ranger='源 ranger'
或者更好的是将其放入你的.bashrc文件中。
要查看此功能的文档和实现,请阅读 bin 文件夹中的 ranger 脚本。
答案4
为了借鉴 Gombai Sándor 的回答,我建议对别名做一些小的调整:
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
通过将“$Home/rangerdir”更改为“$Home/.rangerdir”,您可以隐藏由别名创建的文件。这样就不会令人烦恼地弄乱主文件夹。它对其工作方式没有功能差异。