の線に沿って何かを実行したい
vim -r -c "w %.new | q!" ${filename}
しかし !外部コマンドのプレフィックスとして解析されます。単一引用符を使用すると、同様の問題が発生します。
次のコードでこれを回避できますが、前のコードよりもすっきりしていないか、わかりにくいと感じます。
cp ${filename} ${filename}.new && mv .${filename}.swp .${filename}.new.swp;
vim -r -c "wq" ${filename}.new;