我使用一个js.erb模板来呈现一些jQuery。在用html.erb编辑TextMate文件时,我经常使用方便键组合键ctrl+>创建并切换以下标记:
<%= %>
<% %>
<%- -%>
<%# %>在编辑js.erb文件时,默认情况下此快捷方式无法工作。在捆绑编辑器中,我在"Ruby“下找到了一个名为"Insert‘s< .. %>或<%= .. %>”的片段。通过在作用域选择器中添加"source.js“,我能够使插入工作,但是当我多次按组合键时,没有切换标记,而是在这样的标记中得到了一个标记:
<%= <%= %> %>我尝试过更改名为"Toggle ERb标记“的命令的作用域,但我似乎无法正常工作。有什么建议吗?
2010年11月19日更新:
这在本周发布的Textmate新版本中不再是一个问题: 1.5.10 (1623)。
发布于 2011-07-18 04:02:21
Textmate更新1.5.10 (1623)对此进行了修正。
发布于 2010-10-25 02:52:28
出现这种情况的一个可能原因是,为您生成尖括号的片段是这样定义的:
<%= $0 %>这将在选项卡触发器发生后将此文本放入源中。$0是游标的占位符;它是片段完成后的最后休息位置。由于光标位于中间,这是一个简单的片段,重复执行选项卡触发器将嵌套这些括号。
要实现你想要的,你必须在脚本中完成。只要适当地指定shebang行,就可以使用任何脚本语言。我不是一个熟练的抄写员,所以我会尝试用伪代码来解决这个问题。
if selected_text
if no_wrapping_angle_brackets
surround_with_angle_brackets
else
strip_angle_brackets
else
if no_wrapping_angle_brackets
surround_with_angle_brackets
else
strip_angle_brackets不是很多,但我希望这能帮上忙
发布于 2011-09-16 15:50:51
我也遇到了这个问题,即使使用更新的TextMate和bundle。我通过将source.js.rails添加到代码片段的作用域选择器"Insert‘s <% .. %>或<%= . %>“来修正它。确保您没有为类似的命令"Toggle ERb标记“更改范围选择器。这将正确插入ERb标记,并按预期的方式切换它们。
https://stackoverflow.com/questions/3964640
复制相似问题