我的开发机器是一个Linux主机。壳工具移动到一个复杂的目录结构
我有一个复杂的目录结构(就像我们大多数人一样,我假设),并且我想从shell中的一个目录轻松移动到另一个目录。具体来说,欢迎特点是:
- 自动完成(像在Emacs IDO模式)
- 正则表达式目录/文件匹配近日走访目录(栈)的
- 建议。
- Possibilty推/弹出堆栈,获得最近访问过的目录列表,...
- 整合好这些功能
- 基于
你知道任何工具的控制台,可满足那些要求?
我的开发机器是一个Linux主机。壳工具移动到一个复杂的目录结构
我有一个复杂的目录结构(就像我们大多数人一样,我假设),并且我想从shell中的一个目录轻松移动到另一个目录。具体来说,欢迎特点是:
你知道任何工具的控制台,可满足那些要求?
嗯,任何交互的shell(比如bash)的已经拥有几乎所有这些功能:
find | grep reg.exp
可用于文件匹配,或find -exec grep reg.exp -H '{}' ';'
匹配内容cd -
pushd
和popd
可以用来push和pop目录当然,所有这些工具工作正常,我经常使用它们。但我经常使用它们以至于我需要更少的“键盘密集型”。这就是为什么我强调“良好融合”的原因。在理想的情况下,几个按键会为我提供一个最符合我所需要的选项列表 - 类似于emacs中的ido模式。 – dangonfast
在bash您可以将CDPATH设置为一个冒号分隔的目录,当cd的参数不存在时bash将搜索该目录。
$ man bash|grep -A3 '^\s\+CDPATH '
CDPATH The search path for the cd command. This is a colon-
separated list of directories in which the shell looks
for destination directories specified by the cd com‐
mand. A sample value is ".:~:/usr".
设置后,将自动完成工作,只是你期望的方式:
$ export CDPATH=dir1:dir2
$ cd somedir<tab>
除了当前目录,bash将考虑在$ CDPATH目录的可能值。
应该是unix或超级用户,而不是编程问题。 –
@Tom Zync:你知道如何将问题转移到另一个论坛吗? – dangonfast
我为那些可以做到这一点的人举报了它。 –