首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextMate js.erb:切换<%= %>,<% %>

问TextMate js.erb:切换<%= %>,<% %>
EN

Stack Overflow用户
提问于 2010-10-19 00:54:36
回答 4查看 1.4K关注 0票数 9

我使用一个js.erb模板来呈现一些jQuery。在用html.erb编辑TextMate文件时,我经常使用方便键组合键ctrl+>创建并切换以下标记:

代码语言:javascript
复制
<%=  %>
<%  %>
<%-  -%>
<%#  %>

在编辑js.erb文件时,默认情况下此快捷方式无法工作。在捆绑编辑器中,我在"Ruby“下找到了一个名为"Insert‘s< .. %>或<%= .. %>”的片段。通过在作用域选择器中添加"source.js“,我能够使插入工作,但是当我多次按组合键时,没有切换标记,而是在这样的标记中得到了一个标记:

代码语言:javascript
复制
<%= <%=  %> %>

我尝试过更改名为"Toggle ERb标记“的命令的作用域,但我似乎无法正常工作。有什么建议吗?

2010年11月19日更新:

这在本周发布的Textmate新版本中不再是一个问题: 1.5.10 (1623)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-18 04:02:21

Textmate更新1.5.10 (1623)对此进行了修正。

票数 2
EN

Stack Overflow用户

发布于 2010-10-25 02:52:28

出现这种情况的一个可能原因是,为您生成尖括号的片段是这样定义的:

代码语言:javascript
复制
<%= $0 %>

这将在选项卡触发器发生后将此文本放入源中。$0是游标的占位符;它是片段完成后的最后休息位置。由于光标位于中间,这是一个简单的片段,重复执行选项卡触发器将嵌套这些括号。

要实现你想要的,你必须在脚本中完成。只要适当地指定shebang行,就可以使用任何脚本语言。我不是一个熟练的抄写员,所以我会尝试用伪代码来解决这个问题。

代码语言:javascript
复制
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

不是很多,但我希望这能帮上忙

票数 2
EN

Stack Overflow用户

发布于 2011-09-16 15:50:51

我也遇到了这个问题,即使使用更新的TextMate和bundle。我通过将source.js.rails添加到代码片段的作用域选择器"Insert‘s <% .. %>或<%= . %>“来修正它。确保您没有为类似的命令"Toggle ERb标记“更改范围选择器。这将正确插入ERb标记,并按预期的方式切换它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3964640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档