绑定一个键/键序列的python函数

时间:2014-10-14 14:50:57

标签: python readline

我想制作vi风格的控件,比如i进入插入模式等。

如何使用readline执行此操作? 或者是否有readline的类似物允许将python函数绑定到键/键序列?

UPD:主要目标是将 python函数绑定到键。 例如,我有这个功能:

def myfunc():
    print("Output")

如何设置p键,例如执行上面的功能?

2 个答案:

答案 0 :(得分:2)

您可以将readline.parse_and_bindset editing-mode vi readline命令一起使用。

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

它将以插入模式启动。按 ESC 将切换到正常模式。

答案 1 :(得分:0)

可以使用keyboard软件包来实现:

代码:

import keyboard

def myfunc():
    print("Output")

keyboard.add_hotkey('p', myfunc)

breakpoint() # for testing..

示例输出

example

简短说明

  • keyboard.add_hotkey需要
    • 第一个参数是描述热键的字符串。例如"p""ctrl+p""F3"
    • 作为第二个参数,是使用热键时调用的函数
    • 作为可选的关键字参数args,可以迭代传递给函数的参数。