【问题标题】:How to make vim not break strings when autoformating?自动格式化时如何使vim不中断字符串?
【发布时间】:2012-05-16 09:41:09
【问题描述】:

我有一个字符串值列表,我想自动格式化,但如果其中有空格,vim 会破坏字符串。

这个问题可以解决吗?

例子

    "sdasda", "asdasdasd", "afasfasf", "asdasda asdasd", "asdasd"

变成

    "sdasda", "asdasdasd", "afasfasf", "asdasda
    asdasd", "asdasd"

但我想要

    "sdasda", "asdasdasd", "afasfasf",
    "asdasda asdasd", "asdasd"

额外的好处:它支持不同的字符串格式(Python,“。”和“”)会很好

【问题讨论】:

  • 使用语法信息进行格式化可能有技巧,但这超出了我的vim技能。在vim_use 上闲逛的人可能会发现这个问题很容易回答。
  • 可能值得注意的是,我需要它来支持不同的字符串表示形式(python 程序员因此需要支持 " ' 和 """)
  • @Lumi 我会给他们问题的链接=)谢谢

标签: vim autoformatting


【解决方案1】:

这可以通过自定义'formatexpr' 来实现(检查光标前未闭合的字符串引号,然后从该位置而不是插入位置执行重新格式化)。

然而,在我多年使用 Vim 的过程中,我还没有看到任何自定义 'formatexp',所以除非这里或 vim_use [archives] 上出现了一些东西,否则你可能必须自己实现这样的东西(这是非如果您还想通过 gq 支持重新格式化,并且需要对 Vimscript 有一定的了解,这很简单)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多