使用 Sublime 获取光标下的单词
Get the word under cursor with Sublime
假设我们在 Sublime Text 中有此文本,并且我们将光标悬停在 f
:
hello blabla.foo youhou
我想找到一个命令来获取blabla.foo
,即
- 搜索光标前的前一个空格(
</code>)</li>
<li>搜索光标后的下一个空格</li>
<li>获取这两次出现之间的字符串</li>
</ul>
<hr>
<p>好像<code>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
)?
这是因为 .
(句号)被识别为单词分隔符。
在您的 Sublime 设置中,您可以从单词分隔符列表中删除 .
(句号):
默认:"word_separators": "./\()\"'-:,.;<>~!@#$%^&*|+=[]{}``~?",
更改为:"word_separators": "/\()\"'-:,.;<>~!@#$%^&*|+=[]{``~?",
在那之后改变 view.word(...)
应该 return blabla.foo
.
假设我们在 Sublime Text 中有此文本,并且我们将光标悬停在 f
:
hello blabla.foo youhou
我想找到一个命令来获取blabla.foo
,即
- 搜索光标前的前一个空格(
</code>)</li> <li>搜索光标后的下一个空格</li> <li>获取这两次出现之间的字符串</li> </ul> <hr> <p>好像<code>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
)?
这是因为 .
(句号)被识别为单词分隔符。
在您的 Sublime 设置中,您可以从单词分隔符列表中删除 .
(句号):
默认:"word_separators": "./\()\"'-:,.;<>~!@#$%^&*|+=[]{}``~?",
更改为:"word_separators": "/\()\"'-:,.;<>~!@#$%^&*|+=[]{``~?",
在那之后改变 view.word(...)
应该 return blabla.foo
.