如何用 包围两个单词vim 中的标签,以便我可以使用点运算符重复操作?
我正在使用 vim-surround 插件和这个 HTML(其中 * 是我的光标):
<li class="sample" style="border-color: #005462;">*#005462</li>
我想用 包围 #005462,所以它看起来像这样,<代码><代码>#005462。我可以使用视觉模式执行此操作,但想做一些可以使用点运算符重复的操作。有什么建议吗?
I'm working with the vim-surround plugin and this HTML (where the * is my cursor):
<li class="sample" style="border-color: #005462;">*#005462</li>
I'd like to surround the #005462 with <code>
so it looks like this, <code>#005462</code>
. I can do this with visual mode but would like to do something I can repeat with the dot operator. Any advice?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要 repeat.vim 添加
.
支持其他几个插件,包括环绕声。You want repeat.vim which adds
.
support to several other plugins, including surround.从正常模式尝试录制宏。然后:
之后您可以使用@a或@@重复此命令以重复上次使用的命令。
当你调用 a 时,不要忘记定位在正确的位置,否则你将不会得到预期的结果。
From normal mode try to record a macro. Then:
After you can repeat this command using @a or @@ for repeat last used command.
Dont forget to be positionned at the rigth place when you invoke a or you will not get the expected result.
其他一些人在使用 around.vim 重复操作时遇到了问题:
用“.”重复环绕。 VIM 中的命令
Vim Surround + Repeat,用 ^M 包裹我的文本
在第一个链接中,有一个来自 around.vim 文档的引用意味着周围的视觉模式不起作用:
考虑到它周围的文本元素,我认为没有办法在不使用视觉模式的情况下只包围#005462。
因此,对于这个特定问题,我认为快速、可重复的搜索和替换是最好的选择。
转到右侧行,在命令行模式下键入或粘贴此内容,然后按 Enter 键。
移至下一行并按
&
重复。如果您知道要替换文件中的所有内容,可以在
s/
命令之前添加%
,如下所示:希望这会有所帮助!
A couple other people have run into problems repeating things with surround.vim:
Repeating surround with “.” command in VIM
Vim Surround + Repeat, wraps my text with ^M
In the first link, there is a quote from the surround.vim docs that implies visual mode surrounding doesn't work:
And given the text elements surrounding it, I don't think there's a way to surround just the #005462 without using visual mode.
So for this particular problem, I think a quick, repeatable search and replace is your best bet.
Go to the right line, and type or paste this in command-line mode and press enter.
Move to the next line and press
&
to repeat it.If you know you want to replace ALL of them in the file, you can add
%
before thes/
command, like so:Hope this helps!
观看这个 Vimcasts.org 有关转换 haml 的剧集到 erb。您可以使用相同的技术来完成您的任务。
Check out this Vimcasts.org episode on converting haml to erb. You can use the same technique to accomplish your task.