Bash

命令行中的 Ctrl-P 無法按預期工作

  • December 23, 2019

當我在命令行上使用 Ctrl+p 鍵綁定(我使用預設的 emacs 鍵綁定)時,它有時會按預期工作,顯示我執行的上一個命令。我在 Ubuntu 18.04 上使用 bash shell。

但是,有時它會出現故障:它會在命令行中保留上一行的一部分。這不會影響我執行的下一個命令,但它仍然困擾著我。我怎樣才能解決這個問題?

在此處輸入圖像描述(我知道這種解釋沒有多大意義,所以這是一個螢幕截圖。我不能再在最後一個命令上退格(由於touch file某種原因,該行。)當我說“這不會影響我執行的下一個命令“,這就是我的意思: 在此處輸入圖像描述

編輯:我的 PS1 上寫著:\e[1;32mKR$ \e[m

解決方案是更改命令提示符的值,方法$PS1是包含以\ein\[和開頭的內容\]。這是來自另一個答案。

我從$PS1被設置為開始\e[1;32mKR$ \e[m

我嘗試的第一個解決方案是用這些序列包圍整個表達式,\[\e[1;32mKR$ \e[m\]但這不起作用,所以我不得不將它分成兩個不同的部分,一個用於每個不可列印的塊。因此,我留下了\[\e[1;32m\]並且\[\e[m\]一旦我添加了這些序列。

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

引用自:https://unix.stackexchange.com/questions/558647