我正在使用 js.erb 模板来呈现一些 jQuery。在 TextMate 中编辑 html.erb 文件时,我经常使用便捷的组合键 ctrl+> 创建并切换以下标签:
<%= %>
<% %>
<%- -%>
<%# %>
编辑 js.erb 文件时,此快捷方式默认不起作用。在 Bundle Editor 中,我在 "Ruby"下找到了一个名为 "Insert ERb's <% .. %> or <%= .. %>"的片段。通过将“source.js”添加到范围选择器中,我能够让插入工作,但是当我多次按下组合键时,我没有切换标签,而是在标签内部得到了一个标签,如下所示:
<%= <%= %> %>
我尝试更改名为“Toggle ERb Tags”的命令的范围,但我似乎无法切换工作。有什么建议么?
2010 年 11 月 19 日更新:
这在本周推出的新版Textmate中不再是问题:1.5.10(1623)。
最佳答案
出现这种情况的一个可能原因是,为您生成尖括号的片段是这样定义的:
<%= $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
不多,但我希望这会有所帮助
关于ruby-on-rails - TextMate js.erb : toggle <%= %>, <% %>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964640/