命令行中的 Ctrl-P 未按预期工作

命令行中的 Ctrl-P 未按预期工作

当我在命令行上使用 Ctrl+p 键绑定(我使用默认的 emacs 键绑定)时,它有时会按预期工作,显示我运行的上一个命令。我在 Ubuntu 18.04 上使用 bash shell。

然而,有时它会出现故障:它会保留命令行中前一行的一部分。这不会影响我运行的下一个命令,但它仍然困扰着我。我怎样才能解决这个问题?

在此输入图像描述(我知道这个解释没有多大意义,所以这是一个屏幕截图。我无法在最后一个命令(touch file出于某种原因,该行)上再退格。)当我说“这不会影响我运行的下一个命令”时”,这就是我的意思: 在此输入图像描述

编辑:我的 PS1 上写着:\e[1;32mKR$ \e[m

答案1

$PS1解决方案是更改命令提示符,通过包含以\ein\[和开头的内容来更改的值\]。这是来自另一个答案。

我一开始就将其$PS1设置为\e[1;32mKR$ \e[m.

我尝试的第一个解决方案是将整个表达式包含在这些序列中,\[\e[1;32mKR$ \e[m\]但这不起作用,所以我必须将其分成两个不同的部分,一个用于每个不可打印的块。因此,一旦我添加了这些序列,我就\[\e[1;32m\]剩下了。\[\e[m\]

最终的解决方案是\[\e[1;32m\]KR$ \[\e[m\]

相关内容