Mercurial别名不输出到编辑器

时间:2014-07-15 17:24:46

标签: vim mercurial alias

我经常最终需要查看当前提交+更改与上一次提交之间的区别。我是通过hg diff --rev .^

执行的

因为我做了很多,所以我为它做了一个别名,我称之为pdiff。但是,当我运行它时,如果差异比终端占用更多空间,我无法使用vim绑定进行导航,它会将所有输出放在终端中。

有没有办法让它与键入完整命令一样?

1 个答案:

答案 0 :(得分:0)

你有(对于Mercurial 3,我认为早期版本也是如此)revset的错误语法“第N个父级”。来自hg help revsets

"x^n"
 The nth parent of x, n == 0, 1, or 2.

如果必须使用操作系统级功能,则必须阅读shell aliases

  

别名可以以感叹号(!)开头,使其成为shell别名。使用shell执行shell别名,并允许您运行任意命令。

并且您的pdiff将类似于

pdiff = !$HG diff -r .^$1 | less

并用作pdiff (0|1|2)直接从工作目录的第一个父项或工作目录获取更改