Vim/Ex를 사용하여 단일 점 배치

Vim/Ex를 사용하여 단일 점 배치

vim oneliners를 만지작거리고 있지만 vim ex 모드 추가 명령에서 . 문자를 이스케이프 처리할 수 없습니다.

원래,

vim -En '+a|Hello World' '+p' '+q!' -

"Hello World"를 인쇄하세요.

하지만,

vim -En '+a|.' '+p' '+q!' -

아무것도 인쇄되지 않습니다. 이것. 추가 명령이 한 줄로 끝나서 인쇄할 수 없습니다.

불행하게도 이는 명령을 연결하기 위해 vim -E 명령을 스크립트로 작성할 수 없다는 것을 의미합니다. 나는 첫 번째 vim 호출이 Ex 명령을 구성하고 두 번째 vim 호출이 이를 해석하는 것과 같은 것을 원합니다.

vim -En '+a|aConvoluted Hello World
.
Qp
QZQ
' | vim -En

그러나 첫 번째 호출은 실패합니다. .on에서 오는 모든 것이 무시됩니다.

이 지점을 벗어날 수 있는 방법은 없을까요? (이것은 코드 골프와 약간 비슷하므로 모두 vim이어야 합니다.)

관심 있는 분들을 위한 골프 규칙:

b,c,d,e,f,k,p,r,s,t,{,},$,&,;,/,:,@,#,,,(,) 세트에 문자가 없습니다. ,<, >,!모든 대문자가 허용됩니다.

답변1

이것은 약간 인위적일 수 있지만 나에게 마침표를 출력합니다.

vim -En '+a|.x' '+s/x//' '+p' '+q!' -

(골프라고 말씀하셨는데, 상대적으로 캐릭터 수가 많이 추가되기 때문에 안 맞을 수도 있습니다. 특별한 제한사항이 있다면 꼭 자세히 설명해주세요.)

관련 정보