使用Sublime获取光标下的单词

时间:2017-02-14 07:26:59

标签: python sublimetext2 sublimetext sublime-text-plugin

假设我们在Sublime Text中有这个文本,我们将光标放在f上:

hello blabla.foo youhou

我想找一个获得blabla.foo 的命令,即

  • 在光标
  • 之前搜索前一个空格(
  • 在光标
  • 之后搜索下一个空格
  • 获取这两个出现之间的字符串

似乎view.word(...)不起作用:

import sublime, sublime_plugin

class MyCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        for region in self.view.sel():
            print self.view.substr(self.view.word(region))

因为返回的单词是foo。如何获得完整的单词(即blabla.foo)?

1 个答案:

答案 0 :(得分:3)

这是因为.(句号)被识别为单词分隔符。 在Sublime设置中,您可以从单词分隔符列表中删除.(句号):

默认值:"word_separators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}``~?",
更改为:"word_separators": "/\\()\"'-:,.;<>~!@#$%^&*|+=[]{``~?",

更改后,view.word(...)应返回blabla.foo