0

我仍在学习 macvim,我喜欢它,但我还没有弄清楚这一点。所以,假设我有一个 rails 或 ruby​​ 视图文件,我想像这样注释掉一行或多行

post.html.erb

<span class="timestamp">
  <%= time_ago_in_words(post.created_at) %>
  <%= post.created_at %>
</span>

为了注释掉这些行,在百分号后添加一个井号标签。这将注释掉该行

<span class="timestamp">
  <%#= time_ago_in_words(post.created_at) %>
  <%#= post.created_at %>
</span>

书呆子评论器插件将让您直观地选择行并<leader> cc添加评论,但它是错误的。它这样做

<%#<%= time_ago_in_words(post.created_at) %>%> 
<%#<%= post.created_at %>%>

<%# %>它在原件周围添加了另一组,结束标签将显示在视图中。

我希望它看起来像这样

<%#= time_ago_in_words(post.created_at) %>
<%#= post.created_at %>

所以真正的问题是如何映射一个命令,该命令将仅在视觉选择的行上的百分号之后插入井号标签?

4

2 回答 2

2

当您在可视模式下选择了行后,您可以进入命令模式 (:) 并输入s/<%=/<%#=/. 将该命令绑定到自定义快捷方式可以吗?

于 2013-10-24T21:03:54.240 回答
1

评论:

xnoremap <leader>c :s/^\s*<%/&#<CR>
nnoremap <leader>c :s/^\s*<%/&#<CR>

取消注释:

xnoremap <leader>C :s/\(^\s*<%\)#/\1
nnoremap <leader>C :s/\(^\s*<%\)#/\1
于 2013-10-24T21:17:52.147 回答