我在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
命令,make
,git status
,还是其他任何东西 - 通过使用提示行作为“书签”位置在窗口中交换位置似乎是一个有趣的想法我
答案 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