← Vim道場

一覧を整える

一覧の形を整える作業は、同じ操作の繰り返しになりがちです。繰り返しをVimに任せられると、行数が増えても手数がほとんど変わりません。

第7章 腕試しレッスン 33 / 36

繰り返しに向いた形に直す

. が効くのは、直前の変更をそのまま繰り返せるときです。行ごとに操作が違うと使えないので、同じ操作で済む形に揃えてから繰り返すのがコツになります。たとえば桁を揃えてから矩形選択を使う、番号だけを先に振る、といった順序です。

並べ替えは外部コマンドで

一覧を並べ替えたいときは :sort、重複を消したいときは :sort u が使えます。選択範囲だけを対象にすることもできるので、リストの整形はVimの中で完結します。

並べ替えの細かい指定

:sort は既定では文字列として比較するので、109 より前に来ます。数値として並べたいときは :sort n と書きます。逆順にしたいときは :sort!、重複を消すなら :sort u で、これらは組み合わせられます。

範囲を書けば一部だけを並べ替えられます。ビジュアルモードで選んでから : を押して sort と打つのが手軽で、リストの一部だけを整えるときによく使います。

番号を振り直す

並べ替えたあとで番号が飛んでしまったときは、番号の桁をビジュアルモードで選んで g Ctrl-a を押すと、上から順に1ずつ増える連番に振り直せます。全部を同じ数字にしてから実行するのが手順です。

この方法なら、途中に行を差し込んだあとの振り直しも一度で済みます。1行ずつ Ctrl-a を押していく必要はありません。

整える順番

一覧を整えるときは、不要な行を消す・表記を揃える・並べ替える・番号を振る、の順で進めると戻りが出ません。並べ替えを先にしてしまうと、そのあとで行を消したときに番号が飛び、もう一度振り直すことになります。

この順番は、Vimの機能を組み合わせる練習としても分かりやすい題材です。:g で消し、. や矩形選択で揃え、:sort で並べ、g Ctrl-a で番号を振る、という流れが第3章から第6章までで覚えたものの総まとめになります。

このレッスンで扱うキー

キー動き
A行末から入力
.直前の変更を繰り返す
Ctrl-a数値を1増やす
dd1行削除
:g条件に合う行だけ処理

関連記事

レッスン一覧へ戻るキーの逆引き一覧検定を受ける