web-dev-qa-db-ja.com

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

スクリプトで使用するとエラーが発生します

Slackware14.2ではVimは7.4です

1
elbarna

これはあなたが尋ねたものとは正確には異なりますが、コンテンツを使用して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
1
JJoao