我有一个python命令行应用程序,它使用readline模块便于编辑用户输入。我的raw_input()包装器是
import readline
def rlinput(prompt, prefill=''):
"""
Get user input with readline editing support.
"""
readline.set_startup_hook(lambda: readline.insert_text(prefill))
try:
return raw_input(prompt)
finally:
readline.set_startup_hook()
我在OS X下运行并且有一个包含
的.inputrcset editing-mode vi
我的环境
EDITOR=/usr/local/bin/mvim -f
VISUAL=/usr/local/bin/mvim -f
是否有可能让python readline模块兑现' v'在命令模式下打开mvim用于我需要编辑器的全部功能来进行冗长输入的情况吗?
这适用于bash但不适用于我的python程序。否则,bash和python中的编辑是相同的。
FWIW, ipython 中的%edit magic也会打开mvim,所以看起来没有明显的shell配置问题。
我已经查看了readline模块的文档但我没有看到任何明确处理启用外部编辑器的内容。