簡體   English   中英

為什么Vim在Ex模式下不能正確插入西里爾符號?

[英]Why vim doesn't insert cyrillic symbols properly in Ex mode?

要在幾個文件中進行更改,我使用以下腳本:

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 for file in *.html do; vim -e $file < script; done

結果,插入了字符串“ ^ Z = 86 = K5 A5 @ 88”而不是“Книжныесерии”。 所有的html文件以及腳本本身都是utf-8編碼的,並且沒有發現Cyrillic的其他問題。 這是怎么回事?

預先感謝您的任何評論!

即使所有編碼正確,您也可能需要告訴Vim將腳本解釋為utf-8。

嘗試在腳本頂部插入以下行:

 scriptencoding utf-8

根據vim_use郵件列表對此問題的回答, 多字節字符在Vim的ex模式下不被處理

因此,解決方案是根本不使用ex模式。

而不是使用:

vim -e $file < script

使用-S標志在ex模式之外運行腳本:

vim -S script $file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM