def yasuharu519(self):

日々の妄想

Vim で行番号をふる

きっとどこかのブログでも紹介されているだろうけど、忘れがちなのでメモ。

aaaaa
bbbbb
ccccc
ddddd
eeeee

のようなファイルがあった場合に、行番号を振りたい場合などがある。行が多くなると手作業はさすがにつらいので、一気にさっと振りたい。 きっと awk とかを使いこなせればシュッとできるのだろうけど、awk は正直使い方わかってない。これだけのためにプログラム書くのも面倒くさい。

そんな時の vim

:%s/^/\=line(".")

行番号を振りたいバッファを開いて、コマンドモードから上のコマンドを実行するといける。 %s だとバッファ全体が対象になる。正規表現で行頭を表す ^\=line(".") で置き換えるという意味になっている。\=line(".") は実行されると現在のカーソルの行数が返される。

一部などに適応したい場合などは、visualモードで範囲を選択してから :'<,'>s/^/\=line(".")' とかで、選択されてる範囲にのみ連番が入る。

%s/^/\=line(".") . " "

とかで番号の後に空白が入るようになる。

メモメモ