除了结合命令行和图形文件浏览器的优点之外,还有其他可行的解决方案吗?
例如,命令行可以很好地更改目录和执行命令,但无法显示缩略图,文件浏览器很直观,可以很好地概述您在树中的位置,但您无法与计算机就像在命令行中一样。
编辑:对我来说,作为一个命令行用户,它更像是需要一个具有附加文件浏览器功能的命令行,而不是拥有一个具有某些命令行功能的文件浏览器。
答案1
海豚看起来像您正在寻找的:
但终端是其目录导航的从属(如果您在 GUI 中更改目录,它也会在终端中更改,但反之则不然)。
要在更改终端中的当前目录时更改应用程序目录,可以让 shell 向 Dolphin 发送消息以更新其视图。将其添加到您的 shell rc 文件中(警告:未经彻底测试,但适用于最常见的情况,使用风险自负):
重击:
if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
cd() {
builtin cd "$@"
qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
}
fi
fi
Zsh:
if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
chpwd() {
qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null
}
fi
fi
这有一个问题。当 Dolphin 窗口更改当前目录时,终端将失去焦点。如果您愿意,您可能想向开发人员请求错误修复(甚至是对此功能的完整本机支持)。
答案2
答案3
鹦鹉螺码头是 Nautilus(Gnome 的文件管理器)的插件。
这些目录不遵循命令行,但执行起来相当快pwd | xclip
,,<Ctrl> +<l>
<Ctrl>+<v>
答案4
下面是 @Juliano 使用 dolphin + qdbus + 终端的答案的变体(在此处添加为答案而不是注释,以便格式化代码片段。)这种变体也有局限性,并且绝对是一种 hack。
这还假设“dolphin”正在运行附加终端(视图>面板>终端;或者按“F4”)。就像其他提案一样,它向 dolphin 发送一个命令来更新 gui 中的路径以匹配控制台中的 PWD。为了强制终端保留焦点,它使用 xte (xautomation) 向终端窗口发送关闭/打开 (f4 + f4):即自动关闭并立即重新打开终端,以便它重新获得焦点。
if [ -n "$KONSOLE_DBUS_SERVICE" ]; then
if qdbus "$KONSOLE_DBUS_SERVICE" /dolphin >/dev/null 2>&1; then
cd() {
[ "$1" != "$PWD" ] && do_send=true || do_send=false;
builtin cd "$@"
if $do_send ; then
qdbus "$KONSOLE_DBUS_SERVICE" /dolphin/MainWindow0 org.kde.dolphin.MainWindow.changeUrl "$PWD" >/dev/null 2>&1
xte 'key F4' >/dev/null > /dev/null 2>&1
xte 'key F4' >/dev/null > /dev/null 2>&1
fi
}
fi
fi
主要问题(除了终端关闭/重新打开时的轻微闪烁之外)是 dolphin(出于某种原因)插入“control+c”加上“cd {dir}”(其中“dir”是文件的路径)每次终端重新打开时都会进入终端,干扰正在键入的其他命令。 (编辑:在 hack 上添加 hack,作为解决此问题的另一种解决方法:alias ccd=cd
因为此 control+c 的“c”字符似乎总是插入在 a 前面cd {path}...
)
当然,最好在 dolphin 中进行适当的修复,让终端保持焦点和/或将整个功能内置到 dolphin 中。