Vim Surround + Repeat,用^ M包装我的文字

时间:2011-01-07 18:46:58

标签: vim repeat surround

我正在使用Vim的环绕声和重复插件来用html标签包装文本行。

我会用“yse< p>”和“ys $< p>”,他们都工作正常。

我尝试用“。”重复命令,并显示< p>在终端中,但每当我按下Enter执行命令时,环绕声都会替换应该是< p>的内容。和< / p>用^ M。

我的行看起来像^ Mtext这里^ M

我认为这个字符是一个行结尾,但是我不明白为什么环绕声不会用我在终端显示的代码包裹我的行(这是正确的),而是用DOS行结尾包裹我的行。

我在Windows XP上使用gVIM,如果这有任何区别。

2 个答案:

答案 0 :(得分:1)

surround.vim的文档说:

The "." command will work with ds, cs, and yss if you install repeat.vim, vimscript #2136. 

因此,如果您使用yss,它应该可以使用,但显然不支持其他版本的“ys”。听起来很不错,需要提交给repeat.vim所有者。

答案 1 :(得分:0)

实际上,当您使用<p>

重复命令时,.并不存在

试试这个:在使用.重复命令之前先点击o清空任何文本的命令行区域,然后点击.

你会发现它实际上是空白的,这就是光标在第一个字符上的原因。

要正确重复包装,您每次都必须输入<p>或录制快速宏。

微距: ys$<p>

将其粘贴到vim中,突出显示它,然后输入"py

现在您可以使用@p

运行宏