gpt4 book ai didi

vim - 在 Vim 中换行?

转载 作者:行者123 更新时间:2023-12-04 22:51:51 37 4
gpt4 key购买 nike

我注意到当我粘贴一长行时 gq 不起作用。例如,使用 textwidth=72formatoptions=tcroqbnl , gq 拒绝包装这个(在插入模式下,我粘贴了整个标签内容,然后用 ESC 退出插入模式):

<label for="contact_reason_1">To get assistance with or to confirm a tire replacement recommendation</label>

如果我在其中添加一个换行符(例如,在“to”之后),它就会自动换行。有趣的是,如果我将这条线重新连接在一起,它会很高兴地再次包装它。所以 VIM 似乎以某种方式记住了“哦,这是一个粘贴,不要包装它”。

如何关闭该功能?我希望 gq 在命令模式下始终工作。服用 lformatoptions似乎没有帮助(它不应该,这不是插入模式)。

澄清

是的,我正在使用运动命令,特别是 gq formatexprformatprog都未设置。如果重要的话,这是在 Debian GNU/Linux 上的 gvim,vim 版本 7.2p284。

重现步骤
  • 在打开的文件上弹出 gvim。
  • 按 i 进入插入模式,然后输入 This is a long line. A long line. But not wrappable yet. Or yet. Soon.
  • 按 ESC,然后按 I。输入 Now putting text in front of the long line.注意:最后一段之后有一个空格,不能让 SO 显示它,除非这个注释在这里。乐趣。
  • 按 ESC,然后按 A。输入 And some after.注意:And 之前的空格,同样的问题。
  • 最后一次按 ESC。现在尝试 gq ,注意它只包含 And some after. ;我无法让 vim 包装该行的其余部分(无需进入插入模式并手动换行,然后它就可以工作了)。

  • 修复这个状态是可行的;在“现在”之后放置一个换行符,然后点击撤消使换行再次工作。跆拳道。

    最佳答案

    gq 不足以包装文本。您必须给它一个要换行的运动(如 gqj)或告诉它用 gqq 换行当前行。你确定你不是只是打错了?

    如果不是,那是什么 formatexprformatprg选项设置为,如果有的话?

    更新
    问题是 formatoptions 中的 b 设置.这告诉 Vim 只包装上次插入时添加的文本。

    关于vim - 在 Vim 中换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874030/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com