5 줄의 텍스트가 있다고 가정하면, vim이 각 줄을 처리하도록 명령을 입력하면 Vim은 텍스트를 한 줄씩, 첫 줄, 두 줄, ... 마지막 줄까지 처리합니다. Vim이 내 텍스트를 역순으로 처리하도록하고 싶습니다. 마지막 줄은 처음으로, 그 다음은 4 줄, 마지막 줄은 첫 줄입니다.Vim이 내 명령을 역방향으로 처리하는 방법은 무엇입니까?
왜 내가 이것을 필요로합니까? 나는 3 문자가 포함 된 라인에서 줄 바꿈 기호 (\ n을)를 제거하려면 다음 텍스트를
1234567890
abc
123
def
1234567890
123456789
있습니다. 이렇게 처리 한 후, 나는 다음과 같은 텍스트
1234567890
abc123def1234567890
123456789
그것은 케이크 한 조각을 것 같다, 나는 다음과 같은 명령을 사용하여 얻을 것이다
:%s/\v(^\w{3})\n/\1/
하지만
1234567890
abc123
def1234567890
1234567890
왜 뭐가? vim이 두 번째 줄에서 \ n을 먼저 제거했다면이 줄에 abc123이라는 텍스트가있는 것 같습니다. 이제 vim은 123자를 제거하지 않을 것입니다. 이제는 3 자이 아니기 때문에 vim이 다음 줄 def를 처리하고 \ n을 제거합니다. 그게 내가 얻은 결과 야.
vim이 앞에서 뒤로 처리 할 수있는 경우에는 발생하지 않으며 원하는 결과를 얻을 수 있습니다.
나는 다른 방법으로 예상되는 결과를 얻을 수 있습니다. 가능한지 여부를 알고 싶습니다.
이것은 gVim에서 작동하지만 Vim에서는 작동하지 않습니다 – zdd
응? 나는 Vim에서의 성공적인 사용을 막을만한 것을 아무것도 보지 못했다. –