Emacs ido 风格的 shell
是否有支持 emacs 风格 ido 查找文件的命令行 shell 或 shell 自定义? 在 emacs 中,我可以使用 Cx Cf
和 (ido-mode t)
非常快速地导航到目录。
理想情况下,我正在寻找一个可以在 emacs 之外使用的解决方案。 尽管我愿意寻找一种在 eshell 缓冲区中快速更改目录的方法。
Is there a command line shell or shell customization that supports emacs-style ido find file? In emacs, I can navigate to a directory extremely quickly using C-x C-f
and (ido-mode t)
.
Ideally, I'm looking for a solution that can be used outside of emacs. Though I'd be open for a way to quickly change directories within an eshell buffer.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
因为我也想要这样的东西,所以我尝试将其实现为 bash 补全
功能。 显然是这个意思。 你必须使用bash。
它仅经过了轻微测试,因此请随意尝试并报告错误/评论。
http://pgas.freeshell.org/shell/bash-ido
Since I also wanted something like this, I tried to implement it as a bash completion
function. Obviously it means. you have to use bash.
It is only lightly tested, so please feel free to try and report bugs /comments.
http://pgas.freeshell.org/shell/bash-ido
尝试 Z 壳。 它的完成度比 bash 好得多。 我必须承认我已经有一段时间没有使用它了并且一直使用 bash 因为它总是可用的。
Try the Z-shell. It has much better completion than bash. I must admit I haven't used it for a while though and stuck with bash because it's always available.
Bash 有一个名为 CDPATH 的环境变量,它可以包含使用 cd 命令时要搜索的目录列表。 另外,请查看 Bash 手册的“可编程完成”和“READLINE”部分。 你应该能够拼凑出一些适合你的东西。
Bash has an environment variable called CDPATH which can contain a list of directories to search when using the cd command. Also, check out the "Programmable Completion" and "READLINE" sections of the Bash manual. You should be able to cobble together something that works for you.
到目前为止,我能想到的最好的方法是 autojump。 仍在寻找更接近 ido 的解决方案,但 autojump 是一个很棒的小应用程序。
The best I've been able to come up with so far is autojump. Still looking for a solution closer to ido, but autojump is a great little app.
我知道一些终端仿真器支持扩展,例如 rxvt-unicode 可以使用 Perl 脚本进行扩展。 我不确定,因为我自己从未编写过扩展,但也许您想要的可以通过这种方式实现。
如果您想查看 urxvt 的一些 Perl 脚本,/usr/lib/urxvt/perl 中有一些示例,Debian 上默认安装了 urxvt。
I know that some terminal emulator support extension, for instance rxvt-unicode can be extended with Perl scripts. I'm not sure since i never wrote an extension myself, but maybe what you want is doable this way.
If you want to have a look at some Perl scripts for urxvt there are some examples in /usr/lib/urxvt/perl with the default urxvt install on Debian.
如果您希望在 eshell 或类似工具中进行 ido 补全,最好编写一个使用 ido 读取目录的函数,然后将 cd 到该目录的命令插入到 shell 缓冲区中。 我自己不使用 eshell,所以我无法评论如何实际编写这个函数,但这是一个想法。
If you want ido completion in eshell or similar, it might be best to write a function that uses ido to read a directory, then inserts the command to cd to that directory into the shell buffer. I don't use eshell myself, so I couldn't comment on how to actually write this function, but it's an idea.
fzf,命令行模糊查找器,为 bash 和 zsh。
据开发商介绍:
这是一个可移植的解决方案(适用于 Linux、Mac、Windows),没有依赖项
fzf, the command-line fuzzy finder, adds fuzzy completion for bash and zsh.
According to the developer:
This is a portable solution (works on Linux, Mac, Windows), which has no dependencies.