是否可以在prev / next终端命令提示之间跳转?

时间:2010-10-30 22:51:41

标签: command-line navigation terminal prompt

我在OS X Terminal.app中使用zsh,而且很长一段时间以来,我一直渴望在终端输出中的prev / next提示之间来回跳转。

这样做的一个便利是能够在每个命令的输出结束时检查(并跟踪错误);例如。当你使用./configure; make; make install.从源代码构建东西时注意:我显然不是指在命令历史中来回跳转,而是为了一种方法来查看每个命令输出的结尾。

有没有人在* nix(最好是Mac)世界中听说过这样的功能?它是否需要某种以操作系统为中心的终端插件,还是可以通过shell脚本以编程方式完成,该脚本可以绑定到键盘快捷键?也许我是唯一一个想到这个的人? :)

编辑:以下是一个示例场景:假设我想编译并安装一些程序(使用标准./configure && make && make install过程),在make命令之后,我遇到了一些错误。现在,我理解它的方式(我可能完全错了),导致make命令失败的关键错误通常出现在输出的最后一行,不是吗?无论如何,在这一点上,我可能会像cat INSTALL那样阅读INSTALL文档以检查是否有我遗漏的内容。现在,如果我想回去查看错误是什么,导致我的初始make命令失败,那么我必须再次手动向上滚动到该位置,因为我的cat INSTALL命令后打印了大量文本它

我不知道这种情况是否是最明确的 - 但是还有很多其他情况我希望我可以“跳”回到之前的提示行并检查以前的命令输出;它是一个简单的ls命令,makegit status,还是其他任何东西 - 通过使用提示行作为“书签”位置在窗口中交换位置似乎是一个有趣的想法我

2 个答案:

答案 0 :(得分:0)

命令+左或右在iterm中的选项卡之间。这就是你要问的?

答案 1 :(得分:0)

Emacs有一个shell-mode,它在Emacs编辑器中运行一个shell,为导航和使用shell命令提供了丰富的附加命令环境。这包括用于转到上一个/下一个提示的命令,以及从命令中删除输出以便您可以“清理”并发出另一个命令。

如果您不熟悉Emacs:要在Emacs中启动shell,请从shell运行emacs,然后键入Esc-x(或Meta-x,如果您有“Use option as meta”密钥“在终端>首选项>设置> [个人资料]>键盘中启用。这将要求执行命令。输入shell

要查看可在Shell模式下使用的命令列表,请输入Control-h m。以下是将光标移动到上一个/下一个提示的步骤:

C-c C-n         comint-next-prompt
C-c C-p         comint-previous-prompt

这些命令也很有用:

C-c C-r         comint-show-output
C-c C-o         comint-delete-output