【问题标题】:How to undo typing (not command output) in iPython shell如何在 iPython shell 中撤消输入(不是命令输出)
【发布时间】:2012-06-30 00:29:07
【问题描述】:

是否有用于在 iPython 中撤消输入的键盘命令?注意:我不是在谈论撤消您已执行的命令的结果。

假设我将几个变量名作为参数复制并粘贴到一个长函数调用中,然后意识到它们是错误的参数。我可以做等效的 ctrl-z 或撤消粘贴操作的操作吗?

Ctrl-z 终止 iPython 会话,因此不推荐。

【问题讨论】:

    标签: shell ipython undo


    【解决方案1】:

    IPython 使用 GNU readline 库。 standard shortcut for "undo" 是 Ctrl-_,但这可能无法一键撤消完整的粘贴操作。 (Linux) 终端中的粘贴操作是通过模拟用户输入来完成的,因此 readline 将看到许多击键,而不仅仅是一个。您可能需要按几次快捷键。

    【讨论】:

      【解决方案2】:

      Ctrl-_(下划线)或 Ctrl-x Ctrl-u

      如果你用 ctrl-w/ctrl-k 等删除了一些东西 您可以使用 ctrl-y 将其粘贴回去。

      有关其他热键,请参阅 readline(1)

      【讨论】:

      • 很好,谢谢参考。 Ctrl-u 也是救命稻草,因为它可以清除行,当您使用向上箭头滚动历史记录并最终卡在很长的命令时,这非常有用。
      • 顺便说一句,要撤消整行,您可以按esc-r