0

複数のファイルを変更するには、次のスクリプトを使用します。

echo search('publications.html"') | normal o<li><a href="./book_series.html">Книжные серии</a></li>
echo search('collections.html"') | d
echo search('photo.html"') | d
wq

それから私はしますfor file in *.html do; vim -e $file < script; done

その結果、"Книжные серии" の代わりに文字列 "^Z=86=K5 A5@88" が挿入されます。すべての html ファイルとスクリプト自体は utf-8 でエンコードされており、キリル文字に関するその他の問題は明らかにされていません。どうしたの?

コメントをお寄せいただきありがとうございます。

4

2 に答える 2

0

この同じ質問に対する vim_use メーリング リストの回答によると、マルチバイト文字は Vim の ex モードでは処理されません

したがって、解決策は ex モードをまったく使用しないことです。

使用する代わりに:

vim -e $file < script

ex モード以外でスクリプトを実行するには、-S フラグを使用します。

vim -S script $file
于 2014-06-05T16:56:47.720 に答える