为什么上下箭头命令在Python命令行解释器中不起作用?

为什么上下箭头命令在Python命令行解释器中不起作用?,python,linux,cpython,Python,Linux,Cpython,我正在Linux上使用VT100终端仿真器。在bash中,上下箭头滚动显示最后执行的命令;他们按预期工作 Python命令行解释器中不会解释上一个(向上箭头)和下一个(向下箭头)命令。我需要什么样的密钥映射才能使其工作 谢谢。默认情况下,键映射为: 老年人:alt-p 最近的:alt-n 您可以分别在Options->Configure IDLE->Keys->“history previous”和“history next”中进行更改。假设您有GNU Readline库,我想我已经找到了答

我正在Linux上使用VT100终端仿真器。在bash中,上下箭头滚动显示最后执行的命令;他们按预期工作

Python命令行解释器中不会解释上一个(向上箭头)和下一个(向下箭头)命令。我需要什么样的密钥映射才能使其工作


谢谢。

默认情况下,键映射为:

  • 老年人:alt-p
  • 最近的:alt-n

您可以分别在
Options->Configure IDLE->Keys->“history previous”
“history next”
中进行更改。

假设您有GNU Readline库,我想我已经找到了答案。(这确实意味着我对使用Unix风格接口的基本实现有部分错误,因为它只在GNU Readline[或端口,我猜]不可用时才这样做。)

历史替代的作用如下。所有发出的非空输入行都保存在历史缓冲区中,当发出新提示时,您将被定位在此缓冲区底部的新行上
C-P
在历史缓冲区中向上(向后)移动一行,
C-N
向下移动一行。历史缓冲区中的任何行都可以编辑;提示前会出现一个星号,将一行标记为已修改。按返回键将当前行传递给解释器<代码>C-R开始增量反向搜索<代码>C-S开始向前搜索


从技术上讲,向上箭头和向下箭头的解释很好;问题在于,由于IDLE使用textbox/textfield类型的窗口来显示其数据,按“向上”和“向下”只会在窗口中向上或向下移动光标。不要像对待终端窗口一样对待IDLE。@JAB指出,但我如何对待它才能获得最后一条命令?我已经从标题和帖子中删除了IDLE,因为我不清楚Python命令行解释器还有另一个术语。在这种情况下,命令行解释器通常支持使用箭头键来完成命令,所以,检查您所执行的任何定制(如果有的话),以确保您没有以某种方式覆盖这些功能。@JAB,但这就是我要问的。命令行解释器需要什么样的终端?@octopusgrabbus:我最后检查了IDLE,它是一个(相当基本的)IDE,利用Python的
tkinter
模块来显示基于Tk/TCL的GUI。我从来没有听说过它有命令行版本(当然,你可以从终端启动它)。@octopusgrabbus我想知道同样的事情?如何在终端中启动IDLE?也许标记是错误的,但IDLE是Python附带的Python命令行。我指的不是GUI IDE。如果IDLE被称为其他名称,我很乐意编辑原始问题以使用正确的术语。等等-你的意思是你只是在终端窗口中键入“python”并从中工作吗?@JonClements是的。我有一个VT100模拟窗口,输入Python。