2013-04-18 94 views
2

爲了加強我的常規python控制檯,我想添加vi風格編輯。`在Python readline中設置編輯模式vi`(os x)

第一件事:python未讀取~/.inputrc如果我理解的很好。

於是,我試圖(通過~/.pythonrc.py)做:

import readline 
readline.parse_and_bind('set editing-mode vi') 

沒有發生的事情。我錯過了什麼?或者是我的終端有問題?

我在使用Terminal.app

(試過沒有成功rlwrap)

+0

可能的重複:http://stackoverflow.com/questions/537522/standard-python-interpreter-has-a-vi-command-mode – arcseldon

回答

3

在OS X蘋果提供的系統蟒蛇不與GNU readline庫鏈接的readline模塊OS X因爲蘋果公司沒有在OS X上裝載GNU readline(可能是因爲許可證問題)。他們確實鏈接到BSD editline庫,libedit,它讀取~/.editrc並支持一組不同的編輯命令。詳情請參閱man 5 editrc。如記錄here,您可以檢查文本libeditreadline.__doc__以確定是否正在使用GNU readline或BSD editline。如果您真的需要GNU readline,那麼您可以安裝readline package from PyPI,它具有與GNU readline鏈接的Python readline模塊的預編譯版本。

+2

readline vs editline是事情,謝謝。最後,我只是在〜/ .editrc中添加'bind -v',我完成了 – lajarre

+0

我建議檢查這裏提供的答案 - http://stackoverflow.com/questions/6636124/how-do-i-make- VI編輯模式,工作在IRB-時,使用-RVM – arcseldon