从 shell 快速跳转到目录

从 shell 快速跳转到目录

文本编辑器(例如 vim 和 emacs)具有 ace jump、avy 等插件,允许您按下一个字符,然后它会使用临时键绑定突出显示该字符的每个实例,然后您可以按下键绑定直接跳转到该字符

我想知道是否存在类似的东西,让 shell(例如 bash)可以快速导航到特定目录,而无需cd通过目录?也许可以列出目录到一定深度,等待输入字符,用按键序列突出显示字符实例,并cd在按下该序列时进入该目录?

如果这样的东西尚不存在,那么创建它会有多容易?

答案1

fzf就是这个。它是一个模糊完成/文件选择助手。它的基本用途是从大列表中选择文件(例如find . -type f | fzf > selected)。

安装并加载到 shell 后,您可以按 打开AltC一个窗口,在其中输入模糊字符串来查找目录。当您选择一个目录并按 Enter 时,fzf 将cd转到该目录。

要以相同方式自动完成文件名,您可以按CtrlT。要搜索历史记录,请按CtrlR

答案2

也许这不是你想要的,但我认为值得一试世界珊瑚礁保护组织。它建立一个“数据库”(单个文本文件),用于存储目录列表。该wcd foo命令显示包含的目录列表foo,您可以选择其中一个。

另一个类似的选择是自动跳转

答案3

有各种 shell 和 shell 扩展支持部分路径自动完成是其中之一

例如cd /v/l/fsck Tab将路径转换为/var/log/fsck/cd /u/s/appl Tab将路径扩展为/usr/share/applications/

其他一些替代方案:

也可以看看

相关内容