1. ホーム
  2. vim

[解決済み] VIMで、本当に長い1行を複数の行に分割するにはどうすればよいですか?

2022-04-15 19:29:01

質問

VIMエディタに超長い行(例えば300文字以上)があるとします。 これをどのように複数の行に分割すれば、単語の境界がだいたい80文字で切れるようになりますか?

This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line

になります。

This is a really long line 
This is a really long line
This is a really long line
This is a really long line
This is a really long line
This is a ...

解決方法は?

Vimでは非常に簡単にできます(単語の境界で改行する)。

gq{motion} % format the line that {motion} moves over
{Visual}gq % format the visually selected area
gqq        % format the current line
...

をチェックすることをお勧めします。 :help gq:help gw .

また、textwidthの設定( tw を超えると自動的に改行されます。これは gq を無効にすると gq は、ウィンドウサイズと79のどちらを先にするかで壊れます。

:set tw=80

フォーマットオプションにテキスト幅を設定することで、vimはtwの設定値で自動的にブレークします。

:set fo+=t