1

我在 sublime text 中使用 GoSublime 进行 Golang 开发。按Ctrl + B给我构建窗格,然后我需要输入命令,例如,go run main.go然后按Enter。当我想使用numpad Enter它执行命令时不起作用。如何使它也可以使用numpad Enter

我检查了崇高文本中的默认键盘映射,它只为构建工具提供了以下键绑定

    { "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} },

谢谢你!

4

1 回答 1

3

我能给出的唯一建议是尝试numpad_enter同时使用NumLockon 和 off ,看看它是否有所作为。我正在运行 OS X 并使用带有数字键盘的标准有线 Apple 键盘,并且我还在虚拟机中运行 Linux。当我打开控制台(Ctrl`)并运行命令时

sublime.log_input(True)

然后重新调整我正在处理的文件,按下ReturnEnter主键盘上的等效项)产生

key evt: enter

在控制台中,而Enter在键盘上点击会产生

key evt: keypad_enter

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


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

我能想到的唯一另一种可能性是使用您的操作系统的实用程序来重新编程您numpad_enter以发送与Enter. 我对它不是很熟悉,但是对于 Windows,我听说AutoHotKey是一个非常有用的实用程序,而且据我所知是免费的。你可以很容易地用它重新映射键。如果您在 OS X 或 Linux 上,您将不得不谷歌搜索其他实用程序。

祝你好运!

于 2016-06-29T13:32:25.157 回答