Vim 包含单词的行替换

Vim line replace that contains word

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

出现“<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

有什么建议吗?

也许是这样:

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

试试这个:

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

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

:h /\%x