1

Pythonインタープリターで使用できる

readline.parse_and_bind('tab: complete')

タブ補完を有効にする

独自の関数に任意のキーをバインドすることは可能ですか?
CTRL+E と CTRL+SHIFT+E をそれぞれ edit_history() と edit_history(True) にバインドしたいと思います。ここで、edit_history() は .pythonrc で定義された独自の関数です。

def edit_history(fork=False):
    import readline
    timeStamp = time.strftime("%Y%m%d-%H%M%S")
    tmpFile = '/tmp/pyHistory.%s' % timeStamp
    readline.write_history_file(tmpFile)
    if not fork:
        os.system('gvim -f %s' % tmpFile)
        readline.clear_history()
        readline.read_history_file(tmpFile)
        os.unlink(tmpFile)
    else:
        os.system('gvim %s' % tmpFile)

どんなポインタでも大歓迎です

ありがとう、
ダド

4

1 に答える 1

0

はい...ちょっと。関数を定義した後edit_history、キーをシーケンス "edit_history()\n" にマップできます。そのキーを押すと、「edit_history」と入力してから Enter キーを押すことをシミュレートします。

于 2012-07-27T03:20:44.983 に答える