0

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

我将使用“yse<p>”和“ys$<p>”,它们都可以正常工作。

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

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

我将字符识别为行尾,但我不明白为什么环绕不会用它在终端中显示的代码换行(这是正确的),而是用 DOS 行结尾换行。

我在 Windows XP 上使用 gVIM,如果这有什么不同的话。

4

2 回答 2

1

surround.vim的文档说:

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

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

于 2011-01-07T23:41:46.347 回答
0

这实际上是因为<p>当你重复命令时真的不在那里.

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

您会看到它实际上是空白的,这就是光标位于第一个字符上的原因。

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

宏: ys$<p>

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

现在你可以运行宏@p

于 2011-01-07T18:52:22.710 回答