问题描述: 在Windows上使用AutoHotKey时,无法在gvim中触发热键。在WSL Ubuntu上使用AutoHotKey时,无法在vim中触发热键。
解决方法:
首先,使用以下AutoHotKey脚本将gvim的标题栏名称更改为一个特定的值:
SetTitleMatchMode, 2
#IfWinActive, gvim
SetTitleMatchMode, slow
SetTitleMatchMode, 2
SetWinDelay, -1
SetTitleMatchMode, 3
然后,使用以下AutoHotKey脚本来定义你的热键:
#IfWinActive, gvim
^p::
SendInput, ^p
return
这将在按下Ctrl+P时发送Ctrl+P到gvim中。
但是,你可以使用X Server来在WSL Ubuntu上运行图形化应用程序,并通过AutoHotKey触发热键。
首先,在Windows上安装一个X Server,比如Xming或VcXsrv。
然后,将WSL Ubuntu中的DISPLAY环境变量设置为X Server的IP地址和显示号码。在终端中运行以下命令:
export DISPLAY=:0
接下来,使用以下AutoHotKey脚本来定义你的热键:
^p::
Run, wsl echo -ne '\x10\x70'
return
这将在按下Ctrl+P时在WSL Ubuntu中触发Ctrl+P。
请注意,需要根据你的X Server配置进行适当的调整。确保X Server正在运行,并且WSL Ubuntu中的DISPLAY环境变量设置正确。