nvim 표준 명령

nvim 표준 명령

neovim 0.4.3-3의 일반 모드에서 이 명령은 다음과 같습니다.

:put=range(1,4)

1부터 4까지 번호가 매겨진 목록을 배치합니다.

하지만 다음과 같이 빈 행에 숫자를 입력하고 싶을 때는 다음과 같습니다.

:g/^$/norm :put=range(1,14) 

예상대로 작동하지 않습니다. 빈 줄만 강조 표시되지만 put이 작동하지 않습니다. 이유는 무엇입니까?

답변1

:normal명령은 전체 명령만 실행하며 :putEx 명령에는 실제로 실행하기 위한 "Enter"가 없습니다.

~에서:help :normal:

{commands}완전한 명령이어야 합니다. 명령이 완료되지 않으면 or를 {commands}입력하는 것과 마찬가지로 마지막 명령이 중단됩니다 <Esc>.<C-C>:주문도 완료되어야 합니다.

명령 끝에 추가 "Enter" 문자를 추가하면 이 문제를 해결할 수 있습니다. 이 문자는 다음을 사용하여 입력할 수 있습니다.

Ctrl+ V,Enter

^MVim에서는 다음과 같이 나타납니다 .

:g/^$/norm :put=range(1,14)^M

(명령에 "Enter" 텍스트를 입력하지 않는 방법이 있습니다. 예를 들어 이 :execute명령은 이러한 목적으로 자주 사용됩니다.)

하지만 이 경우 더 쉬운 해결책이 있습니다. 바로 포기 :normal하고 :g실행하는 것입니다 :put!

:g/^$/put=range(1,14)

:g명령은 일치하는 모든 줄에 대해 Ex 명령을 실행하며 :putEx 명령이므로 여기서 중개자를 잘라낼 수 있습니다.

이 명령은 버퍼의 각 빈 줄에 14개의 새로운 번호가 매겨진 줄을 추가합니다. 이것이 정말로 당신의 의도인지 확실하지 않습니다.

관련 정보