合成一个bashfunction应用程序运算符

这虽然有点天壤之别,但是我已经学会了不要对任何东西的能力做出假设,因为我经常被隐藏在UNIX / Linux工具中的隐藏function惊呆了。

我经常发现自己正在运行命令,我需要在系统上find一个文件,然后一旦我把眼光放在了理智的位置上,我就需要做一些事情。

以此工作stream程为例:

$ which foo.sh /path/to/something/foo.sh $ vim `which foo.sh` 

第二个命令需要我整整1-2秒才能input。 这是疯狂的。 我经常这样做,开始觉得自己应该能够分解出样板。

我所喜欢的是幻想的贝壳魔法,可以让我做到以下几点:

 $ which foo.sh /path/to/something/foo.sh $ which foo.sh |! vim 

这第二个例子是远远优于IMO。 我觉得在向上箭头后input“|!vim”要比寻找这一行的开头容易得多,键入vim反向,然后寻找行结束并input最后的反引号。

想象一下,pipe爆炸操作符做了类似于“| xargs,vim”的操作,但是保留了vim的terminal,而且键入的东西更短。 pipe-bang当然是bash中的一个语法错误,它不能被别名,所以我想做的事似乎是不可能的。

还是呢? 我怀疑这是TMTOWTDI的情况,但是我有一个心理障碍。

它不一定是从字面上来看,但是接近的是目标。

这也应该工作:

其中foo.sh | xargs vim

我经常做同样的事情(通常用它来查找二进制文件,然后用rpm -qf来查看哪个软件包提供了它)! 我的路线比你所做的要好,但比你想要的慢; 我把它作为一个中途的房子提供。

 $ which foo.sh /path/to/something/foo.sh $ vim `!!` 

在大多数键盘上,反向键和1键也非常接近,所以键入的速度相当快。

试试这个(vim p vious):

 $ alias vp='vim $(fc -s)' $ which foo.sh $ vp 

fc -s用一个replace重新执行前面的命令(在这种情况下为null)。

你可以把别名放在~/.bashrc文件中。 我有我的~/.bashrc来源的aliases文件。