包含单词的Vim行替换

时间:2015-12-18 19:04:23

标签: vim replace utf-8 line encode

我有一个错误编码的文本,我需要替换所有行:

“< 96> DASH< 96>”出现

并将该行更改为“ - DASH - ”

<96>    DASH    <96>
¡Bah    NC  unknown
!   FS  !
<96>    DASH    <96>
exclamó VLfin   exclamar
Olaf    NP  unknown
<96>    DASH    <96>
.   FS  .
Ahora   ADV ahora

这三个元素必须用制表符分隔,最后用CR分隔

-   DASH    -
¡Bah    NC  unknown
!   FS  !
-   DASH    -
exclamó VLfin   exclamar
Olaf    NP  unknown
-   DASH    -
.   FS  .
Ahora   ADV ahora

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

试试这个:

:%s/\%x96\s*DASH\s*\%x96/-\tDASH\t-/

上面最重要的是\%x..允许您搜索十六进制字符代码。可以修改命令的其余部分以更好地满足您的需求。

请参阅:h /\%x

答案 1 :(得分:1)

也许这就是:

:%s/<96>\tDASH\t<96>\n/-\tDASH\t-\r/g