【问题标题】:Get the word under cursor with Sublime使用 Sublime 获取光标下的单词
【发布时间】:2017-02-14 07:26:59
【问题描述】:

假设我们在 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)?

【问题讨论】:

    标签: python sublimetext2 sublimetext sublime-text-plugin


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多