【发布时间】:2021-11-19 14:48:53
【问题描述】:
我有几行非常长的文本,基本上我想在 80 个字符标记之前或之上的字边界处硬换行(中断)。但是,我还需要在每个新断行前添加字符,如下所示:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque viverra euismod pulvinar. Fusce quis nibh commodo, commodo massa eu, ultricies nisi. Phasellus ac nulla odio.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque viverra
\ euismod pulvinar. Fusce quis nibh commodo, commodo massa eu, ultricies
\ nisi. Phasellus ac nulla odio.
我找到了许多打破长行的方法,但没有一个我能够修改以生成像上面这样的输出,而且我不能在事后简单地附加它,因为这会将行扩展又是 80 个字符。
谁能推荐一个与 Vim 兼容的正则表达式或本机命令来执行上述格式化?使用 sed 或 fmt 或其他外部工具的东西也很受欢迎,但在这种情况下,我可以在 Vim 中使用的东西会更受欢迎。
到目前为止我的发现和尝试:
- regex to break lines at exactly 80 characters in Vim, or the first space after - 非常接近,但我不知道如何添加条件以打破字边界之前或 80 个字符
- native Vim formatting commands, fmt, fold, etc. - 所有关于硬包装 80 个字符的好建议,但似乎无法修改以添加所需的字符
- notepadd++-style regex to hard wrap at 80 characters - 这可能适合我的需要,但无法弄清楚如何修改该正则表达式以与 Vim 兼容
- C# regex 本质上也是这样做的,但我还是不知道如何修改以供 Vim 使用
我确信我缺少一些相当简单的东西,但我坚持如何使用这种条件格式来中断 80 个字符之前的最后一个空格。任何建议将不胜感激。谢谢。
【问题讨论】:
标签: regex vim line-breaks