2009-07-11 64 views
19

是否有支持emacs风格的ido查找文件的命令行shell或shell自定义?在emacs中,我可以使用C-x C-f(ido-mode t)极其快速地导航到目录。Emacs ido风格的外壳

理想情况下,我正在寻找一种可以在emacs之外使用的解决方案。虽然我会开放一种方法来快速更改eshell缓冲区内的目录。

+0

我常常希望表现得像个IDO模式更多的应用。 – 2009-07-11 03:00:37

+7

为什么要离开emacs? :) eshell? – seth 2009-07-11 07:12:58

+0

他说他使用eshell。我阅读了ido源代码,并且它不太适合从eshell轻松使用。所以,他需要重构ido,然后将其绑定到eshell,如果他选择了这条路线。 – jrockway 2009-07-12 02:46:48

回答

19

因为我也想这样的事情,我试图实现它作为bash完成 函数。显然这意味着。你必须使用bash。

它只是轻微测试,所以请随时尝试和报告错误/评论。

http://pgas.freeshell.org/shell/bash-ido

0

我知道某些终端仿真器支持扩展,例如rxvt-unicode可以用Perl脚本扩展。我不确定,因为我从来没有写过扩展名,但也许你想要的是可以这样做的。

如果您想查看urxvt的某些Perl脚本,可以在/ usr/lib/urxvt/perl中找到一些示例,并在Debian上安装默认的urxvt。

2

Bash有一个名为CDPATH的环境变量,它可以包含使用cd命令时要搜索的目录列表。另外,请查看Bash手册的“可编程完成”和“READLINE”部分。你应该能够凑齐一些适合你的东西。

3

尝试Z-shell。它比bash有更好的完成。我必须承认我已经有一段时间没有使用它了,因为它始终可用,所以我坚持使用bash。

0

如果你想在eshell或类似的目录中完成ido完成,最好编写一个使用ido读取目录的函数,然后将cd命令插入到shell缓冲区中。我不使用eshell,所以我不能评论如何实际编写这个函数,但这是一个想法。

2

到目前为止我所能想出的最好的是autojump。仍在寻找更接近ido的解决方案,但autojump是一个很棒的小应用程序。