1. ホーム

[解決済み】テキストを80カラムに再構築/強制変換するvimコマンド

2022-04-03 23:27:03

質問

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

解決方法は?

セット textwidth を 80 に変更 ( :set textwidth=80 で可能)、ファイルの先頭に移動する。 Ctrl - ホーム または gg と入力します。 gqG .

gqG は、現在の位置からファイルの終わりまで、テキストをフォーマットします。可能であれば、連続した行を自動的に結合します。2つの行を結合したくない場合は、2つの行の間に空白行を入れることができます。