ruby-on-rails - TextMate js.erb : toggle <%= %>, <% %>

标签 ruby-on-rails textmate erb textmatebundles

我正在使用 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/

相关文章:

javascript - 如何在foreach中调用函数?

ruby-on-rails - Rails/ERB 中的条件标记包装

javascript - Rails js.erb 不工作

Textmate 2节省了焦点

ruby-on-rails - link_to 中的 Ruby 三元

ruby-on-rails - OAuthException : This authorization code has been used - Facebook

javascript - Javascript 中的 Erb 导致页面加载错误

ruby-on-rails - Rails 获取所有后代类别的方法

python - 如何在 Textmate 中使用 Python 3.1.2?

macos - Textmate 和 vim 模式