以 80 个字符换行

Joe*_*nin 2 vim macros text macvim

我想将超过 80 个字符的行拆分为与原始行具有相同缩进级别的多行。它应该只在空白字符处进行切割,以免单词被一分为二。所以这:

 \begin{enumerate}
     \item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sed tempus odio. Phasellus lobortis suscipit mattis. Nulla facilisi. In nisi turpis, tristique ut accumsan at, sagittis a orci. Ut nisl enim, eleifend quis fermentum commodo, fermentum a velit. Maecenas a augue nec leo fermentum auctor et ut turpis. Donec ultricies ligula sed mi suscipit sagittis.
 \end{enumerate}
Run Code Online (Sandbox Code Playgroud)

...会变成这样:

\begin{enumerate}
    \item Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum
    sed tempus odio. Phasellus lobortis suscipit mattis. Nulla facilisi. In
    nisi turpis, tristique ut accumsan at, sagittis a orci. Ut nisl enim,
    eleifend quis fermentum commodo, fermentum a velit. Maecenas a augue nec
    leo fermentum auctor et ut turpis. Donec ultricies ligula sed mi suscipit
    sagittis.
\end{enumerate}
Run Code Online (Sandbox Code Playgroud)

我将如何编写宏来做到这一点?有没有更好的办法?

WMR*_*WMR 6

:se tw=80
Run Code Online (Sandbox Code Playgroud)

然后标记文本并键入 gq

  • @JosephMornin - 查看 `:help formatoptions` 和 `:help fo-table`,看看这些选项中是否有任何一个可能适用于你正在尝试做的事情。具体来说,我认为 formatoptions 中的 `w` 可能会帮助你,只要你不介意以空格结尾的换行。 (3认同)