【发布时间】:2012-03-18 07:25:03
【问题描述】:
是否有任何快捷方式可以在 VIM 中围绕嵌入式 Coffeescript(在生态模板中)?
<%= @something %>
是否处于插入模式?
【问题讨论】:
标签: vim coffeescript eco
是否有任何快捷方式可以在 VIM 中围绕嵌入式 Coffeescript(在生态模板中)?
<%= @something %>
是否处于插入模式?
【问题讨论】:
标签: vim coffeescript eco
surround 插件可以做到这一点。您必须设置自定义替换来执行此操作。环绕帮助文件中的示例之一实际上完全符合您的要求。该示例说要添加行
let g:surround_61 = "<%= \r %>"
致您的.vimrc。
在此\r 是您包围的任何文本的占位符,变量名称中的61 表示ASCII 字符61 将是此包围的快捷方式,即=。要使用它,您可以使用环绕的绑定之一并键入 = 作为环绕字符。例如,命令ysiW= 将用<%= ... %> 包围当前单词。 ys 部分是添加周围文本的键绑定。 iW 是要被包围的动作(它代表“inside word”),然后= 是要使用的环绕声,这里设置为自定义环绕声。
【讨论】:
let g:surround_{char2nr('=')} = "<%= echo \r %>"。您可能还希望仅对具有 eco 文件类型的缓冲区执行此操作。我建议您创建一个名为 ~/.vim/after/ftplugin/eco.vim 的文件并使用:let b:surround_{char2nr('=')} = "<%= echo \r %>"。 b:var 将使缓冲区局部变量不是全局变量。
我想添加一个后来使用 snipMate 发现的其他替代方法。我可以在 sn-ps 目录中添加一个eco.snippets 文件,其中包含:
snippet =
<%= ${1} %>
把它处理到我可以输入=然后tab它存在的地方。
【讨论】: