使用键盘将插入符号处的单词添加到字典中

使用键盘将插入符号处的单词添加到字典中

在 Sublime Text 3 中使用拼写检查时,可以右键单击拼写错误/带下划线的单词,然后从上下文菜单中将其添加到词典中。有没有办法使用键盘而不使用鼠标来执行此操作?

上下文菜单拼写建议

官方文档提到了该add_word命令,但没有使用它的默认键绑定,并且它要求将要添加的单词指定为参数 - 即它不会在插入符号下添加单词。

答案1

一个简单的答案是使用键盘打开上下文菜单(有些键盘有专门的按钮,例如在 和Alt Gr右键之间Ctrl。或者,您可以在 Windows 上按Shift+ F10。然后只需使用箭头键选择添加单词菜单项并按下 即可Enter


显然,这可以通过使用自定义键绑定以更少的按键来完成,这是add_word文档中提到的命令派上用场的地方。

但是,由于键绑定不能使用光标下的文本或选择作为参数,因此需要为此创建一个小型 Python 插件。(执行的命令支持此功能的情况除外,例如insert_snippet支持参数$SELECTION中的占位符contents。)

下面介绍了如何创建一个 Python 脚本,将光标处的单词添加到字典中:

  1. Tools菜单 -> Developer->New Plugin
  2. 粘贴以下内容:

    import sublime
    import sublime_plugin
    
    class AddWordsAtCursorsToDictionaryCommand(sublime_plugin.TextCommand):
        def run(self, edit):
            for sel in self.view.sel():
                region = None
                if sel.empty():
                    region = self.view.word(sel.begin())
                else:
                    region = sel
                word = self.view.substr(region)
                self.view.run_command('add_word', { 'word': word })
    
  3. 将其保存在它建议的默认文件夹中,类似于add_word.py- 文件扩展名非常重要,但基本名称本身并不重要。

  4. 转到Preferences->Key Bindings - UserKey Bindings取决于您拥有的 ST3 版本。
  5. 输入以下内容:

    { "keys": ["f8"], "command": "add_words_at_cursors_to_dictionary" }
    
  6. 如果文件之前是空的,请确保上面的文本被方括号括起来。即[]。基本上,它需要是一个有效的 JSON 文件,包含一个键绑定数组。

  7. 保存
  8. 按 将F8文本插入符号处的单词添加到词典中。(显然,您可以在相关步骤中将其更改为您想要的任何键。)

相关内容