9

最大行幅が79になるようにファイルを再フォーマットしたいのですが:set tw=79gggqG結果は期待したものではありませんでした。行が79列未満の場合、その下の行の文字は上に移動し、79列を超える行は2行に分割されません。

編集:まあ、アスタリスクのある行を除いて、79を超える行を壊すという点で私は半ば誤解されていました。

--CONVENTIONS**************************************************************************************

さらに、行が79未満の場合でも、文字を上に移動します。

4

2 に答える 2

9

最善の解決策ではありませんが、考えられる解決策の1つです。

定義formatexprを解除し、外部foldプログラムにテキストを79文字幅にフォーマットさせます。

:set formatexpr=
:set formatprg=fold\ -w\ 79

そして今:

gg              # Go to beginning of file.
gq              # Format until...
G               # End of file.

そして最後にそれらのキャリッジリターンを削除します(^ M):

:%s/\r//g

私のテストでは、アクセントのある文字がいくつか変更され、他のいくつかの線が壊れていましたが、自分で試してみてください。それ以外の場合は、独自のフォーマット関数を作成し、formatexprオプションで使用できます。

于 2012-01-11T14:34:16.693 に答える
1

異なる段落の間に空の行を入れます。次に、再フォーマットを実行します。

于 2012-01-11T13:16:38.843 に答える