我在Linux上使用VT100終端仿真器。在bash中,向上和向下箭頭滾動執行的最後一個命令;他們按預期工作。爲什麼上下箭頭命令在Python命令行解釋器中不起作用?
上一個(向上箭頭)和下一個(向下箭頭)命令不在Python命令行解釋器中解釋。我需要做什麼樣的密鑰映射才能完成這項工作?
謝謝。
我在Linux上使用VT100終端仿真器。在bash中,向上和向下箭頭滾動執行的最後一個命令;他們按預期工作。爲什麼上下箭頭命令在Python命令行解釋器中不起作用?
上一個(向上箭頭)和下一個(向下箭頭)命令不在Python命令行解釋器中解釋。我需要做什麼樣的密鑰映射才能完成這項工作?
謝謝。
我想我已經找到了答案,假設你有GNU Readline庫。 (這也意味着我有部分錯誤有關使用Unix風格界面的基本實現,因爲它不僅會當GNU的Readline [或端口,我猜]不可用。)
http://docs.python.org/tutorial/interactive.html#history-substitution
歷史替代的工作原理如下。所有已發出的非空輸入行都保存在歷史記錄緩衝區中,當發出新提示時,您將位於此緩衝區底部的新行上。
C-P
在歷史緩衝區中向上移動一行(後退),C-N
向下移動一行。歷史緩衝區中的任何行都可以編輯;在提示符前面出現一個星號,將一行標記爲已修改。按回車鍵將當前行傳遞給解釋器。C-R
開始增量反向搜索;C-S
開始向前搜索。
默認情況下,keymappings是:
可以在Options -> Configure IDLE -> Keys -> "history-previous"
和"history-next"
分別更改。
我編輯了原始問題,以表明這是命令行版本的IDLE。我怎樣才能通過命令行設置選項?謝謝。 – octopusgrabbus 2012-07-25 18:45:17
我不記得終端輸入是否爲真,但在IDLE中,您還可以在按Alt + N之前從更遠的位置鍵入前一個語句的第一部分,以便檢索早期語句而不通過在之間。 – JAB 2012-07-25 18:46:11
@octopusgrabbus:最後我檢查了一下,IDLE是一個(相當基礎的)IDE,它利用Python的'tkinter'模塊來顯示基於Tk/TCL的GUI。我從來沒有聽說過它的命令行版本(當然,你可以從終端啓動它)。 – JAB 2012-07-25 18:48:38
技術上,向上箭頭和向下箭頭被解釋得很好;問題在於,由於IDLE使用文本框/文本框類型窗口來顯示其數據,因此按「向上」和「向下」只是將光標在窗口中向上或向下移動。不要像終端窗口那樣對待IDLE。 – JAB 2012-07-25 18:43:46
@JAB注意到了,但我該如何處理它以獲取最後的命令? – octopusgrabbus 2012-07-25 18:46:09
我已經從標題和帖子中刪除IDLE,因爲我不清楚Python命令行解釋器有另一個術語。 – octopusgrabbus 2012-07-25 19:03:11