2012-08-01 57 views
19

我一直在嘗試OCaml。有時候它更快,只是使用解釋器shell來測試一些代碼,但是當我按下'up'鍵時,它不會顯示最後一個命令。如何在OCaml解釋器外殼中重複上次命令

當我錯過輸入內容或希望看到會產生什麼樣的變化時,這是一種痛苦。

任何人都知道是否有另一個關鍵?

感謝,

回答

25

使用rlwrap

rlwrap ocaml 

ocaml本身沒有readline的支持。

您可以使用~/.inputrc配置readline。 例如,您可以添加這樣行吧:

$if ocaml 
"\C-o": "()\C-b" 
"\C-n": ";;\n" 
$endif 

現在你可以在ocaml使用ctrl-octrl-n熱鍵。去嘗試一下。

+3

還有'ledit',它像rlwrap:'ledit ocaml'一樣工作。如果您使用的是Debian或Ubuntu,請使用'sudo apt-get install ledit'安裝。 – jrouquie 2012-08-01 10:43:07

+0

酷,ledit已經安裝在我的Ubuntu機器上。 rlwrap就像'sudo apt-get install rlwrap'一樣容易安裝......其中一個有什麼好處? – neildaemond 2012-08-01 11:41:24

+3

@neildaemond:我發現'rlwrap'更好。 rlwrap爲您提供歷史記錄,文件名完成,即時着色,語法完成,括號匹配,使用外部編輯器以及通過.inputrc輕鬆配置。 – 2012-08-01 11:50:43

2

您可以使用改進的頂層utop。此外,它還包括很好的完成能力。