vim: 표준 명령을 기록하는 방법은 무엇입니까?

vim: 표준 명령을 기록하는 방법은 무엇입니까?

동일한 파일을 여러 개 편집하고 수정했습니다.

다음 명령을 사용하세요

:%norm f^ID
:%s/\s\+$//
:%norm A,
:%norm GG$x

매크로 모드도 사용했어요

qa

매크로를 기록하는 데 사용됩니다.

그리고

@a

구현하다

하지만 이상한 이유나 내 실수로 인해 일부 명령만 적용되었습니다.

내 질문은: 이 명령을 스크립트에 저장하고 사용할 수 있습니까?

 vim -N -u NONE -n -c "set nomore" -S script.vi file.txt

코스 문법

:%norm f^ID
:%s/\s\+$//
:%norm A,
:%norm GG$x

스크립트에서 사용하면 오류가 발생합니다.

Slackware 14.2의 Vim은 7.4입니다.

답변1

이는 정확히 귀하가 요청한 내용은 아니지만 콘텐츠로 vim 스크립트를 만들 수 있습니다. 간단한 사례부터 시작해 보겠습니다.

$ cat noendspaces
#!/usr/bin/vim -s
:%s/ *$//
:r ! echo "\#last changed by $USER in :" `date`
:x

그런 다음...

$ chmod 755 noendspaces
$ for a in file*.txt 
  do
    ./noendspaces $a
  done

관련 정보