如何在numpad上执行Sublime文本构建执行?

时间:2016-06-29 09:41:57

标签: go sublimetext sublime-build gosublime

我在Sublime文本中使用GoSublime进行Golang开发。 按Ctrl + B为我提供构建窗格,然后我需要输入命令,例如go run main.go并按Enter。当我想使用numpad Enter执行命令时,它不起作用。如何使其与numpad Enter一起使用?

我检查了sublime文本中的默认keymap,它只为构建工具提供了以下键绑定

    { "keys": ["f7"], "command": "build" },
    { "keys": ["ctrl+b"], "command": "build" },
    { "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": true} },
    { "keys": ["ctrl+break"], "command": "exec", "args": {"kill": true} },

谢谢!

1 个答案:

答案 0 :(得分:3)

我能给出的唯一建议是尝试使用 numpL_ 打开和关闭 numpL_ ,看看它是否有所作为。我正在运行OS X并使用带有小键盘的标准有线Apple键盘,我也在虚拟机中运行Linux。当我打开控制台( Ctrl `)并运行命令

sublime.log_input(True)

然后重新调整我正在处理的文件,按返回(主键盘上的 Enter 等效值)产生

key evt: enter
在控制台中

,而在键盘上按 Enter 会产生

key evt: keypad_enter

无论如何设置 NumLock ,此行为在OS X或Linux中都没有变化(我还没在我的Windows VM中尝试过)。如果您使用Windows键盘在Windows或Linux上,可能会更改,但我对此表示怀疑。

Sublime这样做的原因是因为 numpad_enter 输入 / 返回向程序发送不同的密钥代码。 Sublime正在寻找某个密钥代码(由 Enter 发送的代码)来提交弹出菜单和诸如此类的内容,并忽略 numpad_enter 发送的代码。不幸的是,因为这是内置行为,所以没有设置或键绑定可以设置为覆盖它。

我能想到的另一个可能性是使用OS的实用程序重新编程 numpad_enter 以发送与 Enter 相同的密钥代码。我对它并不十分熟悉,但对于Windows,我听说AutoHotKey是一个非常有用的实用工具,据我所知是免费的。您可以轻松地remap使用它。如果您使用的是OS X或Linux,则必须使用谷歌搜索其他实用程序。

祝你好运!