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!

관련 정보