【问题标题】:Would it be possible to jump between prev/next Terminal command prompts?是否可以在上一个/下一个终端命令提示符之间跳转?
【发布时间】:2011-05-02 22:34:16
【问题描述】:

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

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

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

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

我不知道这种情况是否最能说明问题——但在许多其他情况下,我希望我可以“跳”回之前的提示行并检查之前的命令输出;无论是简单的ls 命令、makegit status 还是其他任何命令——通过使用提示行作为“书签”位置来交换窗口中的位置对我来说似乎是一个有趣的想法。

【问题讨论】:

  • 我一直在寻找同样的东西。至少像在终端的滚动条上为每个提示显示小标记,比如addons.mozilla.org/en-US/firefox/addon/…
  • 这绝对不是解决我也面临的这个问题的方法,但是您可以尝试习惯使用寻呼机将 INSTALL(和其他文件)打印到终端,例如$ 少安装

标签: command-line navigation terminal prompt


【解决方案1】:

command + left 或 right 在 iterm 中的选项卡之间移动。这就是你要问的吗?

【讨论】:

  • 不,我想在当前窗口的不同位置之间切换,提示行所在的位置。 (我正在用一个免费的例子来编辑我的问题。)
【解决方案2】:

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

如果你不熟悉 Emacs:要在 Emacs 中启动一个 shell,从 shell 运行 emacs,然后输入 Esc-x(或者 Meta-x,如果你启用了“使用选项作为元键” 终端 > 首选项 > 设置 > [配置文件] > 键盘)。这将要求执行命令。输入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

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多