vimのmove(m)の最初のオペランドは1から始まり、最後のオペランドは0から始まるのはなぜですか?

vimのmove(m)の最初のオペランドは1から始まり、最後のオペランドは0から始まるのはなぜですか?

次のファイルが与えられると

1
2
3
4
5

私が言うとき:1m3

ファイルは次のとおりです

2
3
1
4
5

しかし、私は:3m1こう言います。

1
3
2
4
5

1より3が先に来なければならないと思いました。なぜですか?

答え1

Stéphane Chazelasは、vim helpを使用したときに次のように指摘しました:h :m

:[range]m[ove] {address}                        *:m* *:mo* *:move* *E134*
                    Move the lines given by [range] to below the line
                    given by {address}.

だから1号線を運んで次のような質問に記載されているように、3行の結果が表示されます。しかし、3行を1行に移動したい場合は移動しなければなりません。次のようなワイヤー0

答え2

:copyおよび:moveput targetなどのコマンド次のようなによって与えられた行{address}。住所を使用して0最初の行に移動できます。いくつかのコマンド(例:put:)は、以下を介して前後の反転もサポートします。:put!

関連情報