Far*_*her 4 regex sublimetext sublimetext3
我-
从word_separators
设置中删除了,这很好.
但是ctrl+ d上的单词a
仍然与"a"匹配a-b
,我不希望它再这样做了.
这是因为ctrl+ d用正则表达式边界包裹你的搜索\b
,并且-
仍然被认为是边界.
有什么我现在可以做的ctrl+ d不再考虑-
边界了.
编辑:图片:
"一"中a-b
不应该强调,因为a-b
在这种语言的单一变量名,这就是为什么我删除了-
从word_separators
更多说明:如果我试图替换变量的所有实例a
,我不希望它与其他变量的部分匹配,如"a"中的a-b
.
从我在回答您的其他问题时的一些非正式实验中可以看出,"word_separators"
当双击选择单词时,设置似乎主要相关.例如,我在文件中有以下单词:
而我的word_separators
列表./\\()\"'-:,;<>~!@#%^&*|+=[]{}`~?$
,所以它包括-
和/
,但不会_
.如果我把光标放在第一个foo
(没有先选择整个单词)并且点击CtrlD,我得到
如果我再继续打CtrlD几次,我明白了
所以只选择了"个别单词" - foo_bar
不是,也不是foobar
.但是,如果我设置word_separators
为.\\()\"':,;<>~!@#%^&*|+=[]{}`~?$
(删除-
和/
),我在CtrlD重复击中时会得到相同的结果:
-
并且/
仍然被视为单词分隔符,即使我从列表中删除它们.如果我添加_
到word_separators
列表中,结果是相同的,只能得出一个明显的结论:word_separators
被CtrlD(find_under_expand
)忽略.
然而,word_separators
名单IS使用时双击选择一个单词.使用这样的列表:( .\\()\"'_:,;<>~!@#%^&*|+=[]{}`~?$
缺少-
和/
,但有_
),foo
依次双击每个单词提供以下内容:
有趣的是,双击第一个foo
给出
指示类似选择的"框"突出显示没有注意word_separators
.
当使用Find -> Find...
搜索,word_separators
将被忽略.如果未选择任何内容并将foo
其输入搜索框(非正则表达式搜索),则会突出显示以下匹配项:
这是相同的,无论是否-
,/
和/或/
在word_separators
与否.
如果"Whole Word"
在选项设置,结果是有点不同,但同样他们并不无论是否发生变化-
,/
和/或/
在word_separators
:
因此,结论是word_separators
只有在双击选择单词时才有效.使用Find
对话框或CtrlD(find_under_expand
命令)依赖于某些内部分隔符列表,这显然无法更改(请参阅我的答案).
我之前忘记添加的一些信息:word_separators
一些插件也用于各种各样的事情,例如创建/修改/以其他方式处理选择,执行可编程完成,查找和替换以及其他类型的东西.