在Textmate 的早期版本中,当我双击Rails 实例变量(例如@contract)时,选择省略了@ 符号——这很棒。粘贴板只包含“合同”。
在 Textmate 版本 2.0-alpha.9459 中,双击实例变量会选择 @sign 以及字符。粘贴板现在包含“@contract”。
有没有办法配置 Textmate 2.0,以便在选择时省略实例变量的 @?
在Textmate 的早期版本中,当我双击Rails 实例变量(例如@contract)时,选择省略了@ 符号——这很棒。粘贴板只包含“合同”。
在 Textmate 版本 2.0-alpha.9459 中,双击实例变量会选择 @sign 以及字符。粘贴板现在包含“@contract”。
有没有办法配置 Textmate 2.0,以便在选择时省略实例变量的 @?
根据https://github.com/textmate/textmate/wiki/FAQ:
如果您不希望标点符号被视为(完成)单元的一部分,那么:
- 选择菜单项:Bundles → Edit Bundles…</li>
- 在列浏览器中选择:来源→设置→字符类:标点符号
- 在抽屉中,将范围选择器从 punctuation.separator 更改为 punctuation
- 按⌘S(保存),然后关闭包编辑器
您可以编辑 Ruby 包的语言语法来定义“单词”。有一个名为“variable.other.readwrite.instance.ruby”的部分,如下所示:
name = 'variable.other.readwrite.instance.ruby';
match = '(@)[a-zA-Z_]\w*';
captures = { 1 = { name = 'punctuation.definition.variable.ruby'; }; };
从正则表达式中删除 @-sign ,它的行为将与您描述的一样:
name = 'variable.other.readwrite.instance.ruby';
match = '[a-zA-Z_]\w*';
captures = { 1 = { name = 'punctuation.definition.variable.ruby'; }; };
请注意,现在语法突出显示也不会捕获 @。