【问题标题】:How to add <%= %> & variants in vim insert mode while using vim-rails and vim-surround? [duplicate]如何在使用 vim-rails 和 vim-surround 时在 vim 插入模式下添加 <%= %> 和变体? [复制]
【发布时间】:2014-11-21 16:52:17
【问题描述】:

在安装vim-railsvim-surround 时,是否有任何vim 映射/插件在.erb 文件中产生以下行为?

映射/按键[普通模式]
&lt;%= *cursor position* %&gt;[插入模式]

&lt;% %&gt;&lt;%# %&gt; 相同。

注意:我知道我可以在写完之后用surround.vim 包围它。我想知道相反的方法。
这样我在编写内部 ruby​​ 代码时就可以突出显示语法。

【问题讨论】:

  • 你只是想包裹你的光标吗?还是某些特定的文字?
  • 谢谢彼得。对我有用的答案是您的两个建议的实际组合。你看,我已经安装了 vim-rails 和 vim-surround。问题是插入模式中的 = 不起作用。原来你需要做 s= 让它在终端上工作。为什么会这样?回复:dup-question 1,它并没有完全回答我的问题,因为我没有在不是我的 vimrc 的其他文件中添加自定义命令。这样我可以更好地进行版本控制。回复:重复问题 2,根据我的参数,该问题的答案没有回答这个问题。我现在将编辑这个问题。
  • 我应该自己回答这个问题吗?上面的骗子(虽然相关)没有用编辑的范围回答我的特定问题。

标签: ruby-on-rails vim


【解决方案1】:

您正在寻找提供您所需环境的RagTagRails 插件(除了环绕声)。如果你使用 rails,你会使用 Rails.vim,否则你会使用 RagTag。如果需要,您可以同时安装两者。

安装环绕声和 RagTag/Rails 后,您可以执行以下操作:

  • &lt;c-s&gt;= &lt;%= %&gt; 的插入模式
  • &lt;c-s&gt;# &lt;%# %&gt; 的插入模式
  • 可视化选择代码并执行S= 以包围&lt;%=%&gt;

注意:如果您使用终端,您可能必须使用&lt;c-g&gt;s 进行插入模式环绕。您还可以通过运行 stty -ixon 禁用终端流控制,这将允许您使用 &lt;c-s&gt;/&lt;c-q&gt; 键(我个人在我的 ~/.bashrc 中禁用流控制)。

如果您想为其他文件类型添加“环境”,请阅读:h surround-customizing

请阅读环绕文档和您决定安装的任何插件以了解更多详细信息。

【讨论】:

  • 如果您编辑问题以删除 let b:surround 位(因为它不需要),并添加注释以说明不同的终端映射(在这种情况下为&lt;C-g&gt;g=)我会标记它正如所回答的那样,因为这是我问题的实际答案。上述建议不能作为我问题的答案。
  • 我已编辑帖子以提及终端支持
猜你喜欢
  • 1970-01-01
  • 2014-08-11
  • 1970-01-01
  • 2012-02-03
  • 2017-03-14
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 2018-06-17
相关资源
最近更新 更多