Vim 环绕声 +重复,用 ^M 将我的文本换行

发布于 2024-10-11 02:30:54 字数 317 浏览 8 评论 0原文

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

我将使用“yse

”和“ys$

”,它们都工作正常。

我尝试用“.”重复该命令,它显示

在终端中,但每当我按 Enter 执行命令时,环绕就会替换应为

的内容。和

与^M。

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

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

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

I'm using Vim's surround and repeat plugins to wrap lines of text with html tags.

I'll use "yse<p>" and "ys$<p>", they both work fine.

I try to repeat the command with ".", and it shows <p> in the terminal, but whenever I press enter to execute the command, surround replaces what should be <p> and </p> with ^M.

My line looks like ^Mtext here^M

I recognize the character as a line ending, but I don't understand why surround won't wrap my line with the code it shows in the terminal (which is correct), but instead wraps my line with DOS line endings.

I'm using gVIM on windows XP, if that makes any difference.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷雾森÷林ヴ 2024-10-18 02:30:55

surround.vim 的文档说:

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

所以如果你使用 yss 它应该可以工作,但显然其他版本的“ys”不行支持。听起来像是一个很好的功能,需要提交给 repeat.vim 所有者。

surround.vim's documentation says:

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

So if you are using yss it should work, but apparently other versions of "ys" aren't supported. Sounds like a good feature require to submit to the repeat.vim owner.

撩人痒 2024-10-18 02:30:55

实际上,这是因为当您使用 重复该命令时,

并不真正存在。

请尝试以下操作:在使用 重复该命令之前。首先按 o 清空命令行区域中的任何文本,然后按 .

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

要正确重复换行,您必须每次都输入

或录制一个快速宏。

宏: ys$

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

现在您可以使用 @p

It's actually because <p> isn't really there when you repeat the command with .

Try this: Before you repeat the command with . first hit o to empty the command line area of any text, then hit .

You'll see that it is actually blank, which is why the cursor is on the first character.

To repeat the wrapping properly, you'll either have to type in <p> every time or record a quick macro.

Macro: ys$<p>

Paste that into vim, highlight it, and type "py

Now you can run the macro with @p

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文