Python:从stdin读取时的vi模式

Python:从stdin读取时的vi模式,python,python-2.7,vi,Python,Python 2.7,Vi,当我运行一个使用somevar=sys.stdin.readline()的程序时,在向stdin输入文本时,我不能使用我的vi命令(我在.bashrc中有set-o vi)。在python脚本中读取stdin时,是否有方法启用此功能?我使用的是python2.7。如果您安装了readline模块,请尝试。以下是我从中复制的代码片段: 请参阅:然后,请注意,readline模块只影响raw\u input(),对sys.stdin.readline()没有影响。 import readline

当我运行一个使用
somevar=sys.stdin.readline()
的程序时,在向stdin输入文本时,我不能使用我的vi命令(我在.bashrc中有
set-o vi
)。在python脚本中读取stdin时,是否有方法启用此功能?我使用的是python2.7。

如果您安装了
readline
模块,请尝试。以下是我从中复制的代码片段:


请参阅:然后,请注意,
readline
模块只影响
raw\u input()
,对
sys.stdin.readline()没有影响。
import readline

readline.parse_and_bind('tab: complete')
readline.parse_and_bind('set editing-mode vi')

while True:
    line = raw_input('Prompt ("stop" to quit): ')
    if line == 'stop':
        break
    print 'ENTERED: "%s"' % line