質問: Vimでの編集中にさまざまな空白を削除する たぶん、Vimで編集している間、空白が私に面倒を与えるさまざまな状況に遭遇します。たとえば、次のようなコメントがあるとします。 ``` #This program was featured on the Today show, it is an algorithm for promoting world peace in third-world countries #given the name of that country and the name of a celebrity to endorse its cause ``` たとえば、X文字になるように行をトリミングしたい場合は、改行と改行を打った後で、これを得るために改行を一番上の行の途中に置くことになります: ``` #This program was featured on the Today show, it is an algorithm for promoting world peace in third-world countries #given the name of that country and the name of a celebrity to endorse its cause ``` 私は#をラインの先頭に付け加えてください。それはすべてうまくいくものですが、そのラインも整列したいと思っています。これを行うには、改行、次の行のインデント用のすべての空白、コメント#のマークを削除する必要があります。これを行うのにはかなり時間がかかりませんが、これと同様の状況はすべて1日分のコーディングになります。 上の例は非常に具体的ですが、私の質問はそうではありません。次の空白以外の文字まで、NEWLINESを含むすべての空白を削除するには、Vimの良い方法はありますか? Vimにすでに動きがある場合、これはすばらしいことになりますが、そうでない場合、誰かがキーにマップできる上記を行うのに使う好きなVim関数を持っていますか?少なくとも、私はこの事件について心配することさえできないようなVimの使用法の慣例が不足していますか? 編集:上記の場合に有効で適用可能な間、幅の書式設定は、この質問の焦点ではありません。私は、行の終わりに止まらない空白の削除をもっと気にしますが、代わりに次の行の最初の空白以外の文字を続けます。
回答: 実際には、現在の `'textwidth'` に合わせてそのコメントを再フォーマットしたいだけです。コメントが段落の場合(つまり、空白の行で区切られている場合)、 `gqip` ( `gq` は再フォーマットコマンド、 `ip` は "内部段落"テキストオブジェクト)を再フォーマットします。スタンドアロンの段落でない場合は、それらの行を視覚的に選択してから `gq` を使用します。 これは、コメント文字が正しく扱われるように `'formatoptions'` が正しく設定されていることにもよりますが、ftpluginはすでにそれを行っています。