5

ファイルがあるとします (^n とマークされた改行):

aaaa^n
                        bbbb^n
cccc^n

ブロックの右端の部分に空白を埋め戻す簡単なコマンドはありますか (おそらく視覚的な選択を使用して)。先頭の空白の削除に関する質問をよく見かけますが、この場合、次のように、先頭の空白をブロック内の最長の非空白文字に正規化する必要があります。

aaaa                        ^n
                        bbbb^n
cccc                        ^n
4

2 に答える 2

4

おそらく最も簡単な方法は

set virtualedit=all

選択したいブロックの左上に移動します。Blockwise ビジュアル選択 ( <C-V>) を使用して、必要な行を選択します。次に、ヒット$して視覚ブロックを行末まで延長します。

次に、選択範囲をヤンクしますy

次にgvp、ヤンクした行を自分自身に貼り付けるように入力します。(gv最後のビジュアル ブロックを再選択します)。完了すると、すべての行が最長の行の長さ + 1 になるように拡張されます。

これが機能する理由。仮想編集を使用している場合、視覚的な選択は、各行をレジスターに入れるときに最長まで延長されます。

これにより、最後に余分なスペースが追加されます。これは、で簡単に修正できます:%s/ $//

于 2013-07-25T19:29:32.293 に答える