2016-03-05 93 views
0

爲什麼我不能使用左右箭頭鍵(實際上,上下鍵也是如此)來移動我當前在tclsh交互式shell中的行?如果我嘗試按任意一個,我會得到一束鬍鬚,而不是來回移動。例如,當你輸錯時,這並不是那麼方便,但你不能移動光標來改變它。您必須使用退格鍵來刪除您在輸入錯誤的地方之後輸入的所有內容,從而破壞您的所有工作。坦率地說,是否有可能解決這個問題?如何使用tclsh交互式shell(Ubuntu 14.04)中的左右箭頭鍵?

enter image description here

+0

使用'readline' ... –

+0

那是什麼以及我如何使用它? –

回答

2

的行爲不是越野車。這是不方便的。

要在shell中進行編輯,通常使用GNU readline庫。如果程序不使用該庫,則不具備該功能。

對於tclsh有許可證的原因(GPL與BSD風格的Tcl許可),這使得它不方便直接添加的ReadLine支持tclsh所有這些平臺,其中readline是不是操作系統的一部分(幾乎所有的Linux,但) 。

您可以使用Ubuntu rlwrap包來繼續進行所需的編輯。 安裝rlwrap:

sudo apt-get install rlwrap 

,並使用它與命令行編輯運行tclsh的:

rlwrap -c tclsh 

另一種選擇是使用Tk基於殼tkcon,它提供多一點選擇的Tcl shell,它也可以作爲ubuntu包使用。

擴大我自己的答案:您也可以在您的.tclshrc中構建和使用tclreadline作爲包裝。

相關問題