이 vim 명령은 `:g/#/+1t.`를 어떻게 작동하나요?

이 vim 명령은 `:g/#/+1t.`를 어떻게 작동하나요?

저는 vimgolf를 플레이하고 있는데(중독성이 매우 높음) 이 문제에 대한 해결책 중 하나를 이해할 수 없습니다.http://vimgolf.com/challenges/4d1a34ccfa85f32065000004

문제는 다음 텍스트를 변환하는 것입니다.

Make the pairs of lines match up by making each second line same as first:

# Appending text:
The name "Vim" is an acronym for "Vi IMproved"
The name "Vim" is an acronym for

# Editing text:
Vim is a text editor originally released by Bram Moolenaar in 1991 for the Amiga
Trivia: Vim is a text editor released by Bram Moolenaar in 1991 for the Amiga

# Deleting text:
Vim has a vi compatibility mode
Vim has a vi compatibility mode but when not in this mode Vim has many enhancements over vi

이와 관련하여:

두 번째 행을 첫 번째 행과 동일하게 만들어 두 행을 일치시킵니다.

# Appending text:
The name "Vim" is an acronym for "Vi IMproved"
The name "Vim" is an acronym for "Vi IMproved"

# Editing text:
Vim is a text editor originally released by Bram Moolenaar in 1991 for the Amiga
Vim is a text editor originally released by Bram Moolenaar in 1991 for the Amiga

# Deleting text:
Vim has a vi compatibility mode
Vim has a vi compatibility mode

내 질문은 이 솔루션의 두 번째 줄이 어떻게 작동하는지입니다.

:g/#/+2d<CR>:<Up><BS><BS>1t.<CR>ZZ

두 번째 줄에서 내 말은:g/#/+1t.

답변1

당신은 이미 알고 있을 것입니다: g/#/는 다양한 문제의 대상인 #을 포함하는 모든 줄에서 명령을 실행합니다.

이제 첫 번째 줄이 "잘못된" 줄을 제거했으므로 두 번째 줄은 나머지 줄만 복사합니다.

# 라인에 있습니다. 한 라인 앞으로 이동(+1)하고 현재 라인(.)에 복사(t)합니다.

2개의 동일한 라인이 남아 있습니다.

관련 정보