vimのJコマンドは2Jと同じ
例えば、こんなテキストファイル
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
これを下のように、数字5個周期で縦から横に並べ替える編集をしようとします。
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
そこでJコマンドを使うわけですが、Jを1回打つと2行がくっついて、Jを2回打つと3行がくっつくじゃないですか。だから5行を1回のコマンドでくっつけるには5-1=4回でだと思って4Jと打ちます。
1, 2, 3, 4, # <= 4行分しかくっついてない 5, 6, 7, 8, 9, 10,
あれれ?ということで数年間もJコマンドを勘違いしていたことが判明。
J 現在カーソルのある行と次の行とを結合する。
Vim R}h o -- KeyFGwT
nJ カーソル行を含めたn行を結合する。
というわけで、通常の編集コマンド(例えばaコマンド)は数字付きだと数字分コマンドを繰り返すのと同じ動作をしますが、Jコマンドは数字付きの場合とそうでない場合で動作が違っていて、Jコマンド=2Jコマンドというわけでした。5行くっつけたければ素直に5Jでよいと。とても今更感がありますが、今まで事故起こさなかったのが不思議なくらいです。
自分が持っている本では、
『vi (Linux magazine books)』には
(繰り返し数を)省略すると、「1」および「2」を指定したのと同じく、カレント行と次行の2行を連結して1行にする。
とありましたが、『はじめてのvi&Vim (エッセンシャルソフトウェアガイドブック)』には記載がないようです。