結合せずにvimでハードラッピングする

結合せずにvimでハードラッピングする

Vim初心者です。単語の境界を尊重しながら、Vimでプレーンテキストをハードラップ(実際の改行を挿入)するにはどうすればいいでしょうか?既存の線を結合せずに?

たとえば、次のようになります。

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

- Nulla cursus accumsan faucibus.
- Donec dapibus dignissim ullamcorper.

Integer
nec
malesuada
diam.

取得したいのは(textwidth=30 の場合):

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.

- Nulla cursus accumsan
  faucibus.
- Donec dapibus dignissim
  ullamcorper.

Integer
nec
malesuada
diam.

これの代わりに( で取得できますgggqG

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.

- Nulla cursus accumsan
  faucibus.
- Donec dapibus dignissim
  ullamcorper.

Integer nec malesuada diam.

また、ボーナスポイントとして、まったく新しいバッファを作成すると、.txt で終わるファイルを開いたときとは異なる折り返し動作 (- で始まる行は特別に折り返されません) が発生します。:set filetype?これを制御するのは何でしょうか?または の出力に違いは見当たりません:filetype

答え1

最初の質問には、

:%normal gqq

gqq各行ごとに個別に実行されます。

2番目の質問の答えはわかりませんが、.txtサフィックスが変更されたり'formatoptions''comments'設定されなかったりして、自動コマンドがトリガーされた結果である可能性があります'filetype'

:verbose set fo? com?

これらのオプションが最後に設定された場所を確認します。一部の GNU/Linux ディストリビューションでは、独自の Vim 設定コマンドが /etc/vimrc または /usr/share/vim/vimrc に配置されます。

関連情報