【问题标题】:Vim Surround + Repeat, wraps my text with ^MVim 环绕 + 重复,用 ^M 包裹我的文本
【发布时间】:2011-01-07 18:46:58
【问题描述】:

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

我将使用“yse

”和“ys$

”,它们都可以正常工作。

我尝试用“.”重复命令,它在终端中显示

,但是每当我按回车键执行命令时,环绕替换应该是

的 ^M .

我的行看起来像 ^Mtext here^M

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

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

【问题讨论】:

    标签: vim repeat surround


    【解决方案1】:

    surround.vim 的文档说:

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

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

    【讨论】:

      【解决方案2】:

      这实际上是因为当您使用 . 重复命令时,<p> 并不真正存在

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

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

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

      宏: ys$<p>

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

      现在您可以使用 @p 运行宏

      【讨论】:

      • 我接受你的回答,但我很沮丧你不能这样使用重复。录制和执行宏意味着至少比“。”的笔画多 4 笔。
      • 那太糟糕了,是的。我认为 jrdioko 的功能请求建议是个好主意。
      猜你喜欢
      • 2011-09-13
      • 2012-05-23
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多