vimでテキストの幅を自動的に設定する方法があることは知っていますset textwidth
(例えばVim 80 列レイアウトに関する懸念)。私が探しているのは、=
(インデント行コマンド)に似ていますが、80 に折り返すものです。使用例としては、textwidth を使用してテキストを編集し、行を結合したり、テキストを削除/追加した後に、折り返しがうまくいかなくなることがあります。
理想的には、このコマンドは選択した行を完全に再編成し、長い行を切り落としながら短い行を追加します。例:
long line is long!
short
コマンドを実行した後 (折り返しが 13 列であると仮定):
long line is
long! short
実際の vim コマンドではこれが不可能な場合は、入力をパイプできるコマンドライン プログラムがあるでしょうか?
検索した後、さらにいくつかのオプションが記載されたこのリファレンスを見つけました。http://www.cs.swarthmore.edu/help/vim/reformatting.html
ベストアンサー1
textwidth
を 80 ( ) に設定し:set textwidth=80
、ファイルの先頭に移動し ( Ctrl-Homeまたはで実行できますgg
)、 と入力しますgqG
。
gqG
現在の位置からファイルの最後までのテキストをフォーマットします。可能な場合は、連続する行を自動的に結合します。2 つの行を結合したくない場合は、行の間に空白行を置くことができます。