【问题标题】:How to make Sublime text build execute on numpad enter?如何使 Sublime 文本构建在小键盘上执行?
【发布时间】:2016-06-29 09:41:57
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: go sublimetext sublime-build gosublime


    【解决方案1】:

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

    sublime.log_input(True)
    

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

    key evt: enter
    

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

    key evt: keypad_enter
    

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


    Sublime 这样做的原因是因为 numpad_enterEnter/Return 向程序发送不同的键码。 Sublime 正在寻找某个键码(Enter 发送的那个)来提交弹出菜单等内容,并忽略 numpad_enter 发送的代码。不幸的是,由于这是内置行为,因此无法设置任何设置或键绑定来覆盖它。

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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 2021-10-07
      • 2021-10-31
      • 2018-03-04
      • 1970-01-01
      相关资源
      最近更新 更多