You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

vi文件中~B字符代表什么?如何搜索替换删除该字符?

解决Vi编辑器中~B字符的识别与删除问题

~B字符的本质

你看到的蓝色~B是Vi对**高位ASCII字符(扩展ASCII字符)**的显示形式,这类字符的字节值大于0x7F(127)。~B对应的是十六进制值0x82的字符:Vi用~标识高位字节区间(0x80-0xFF),后面的字母是将字节值减去0x80后对应的ASCII字符——0x82-0x80=0x02,对应ASCII的B(即^B),因此显示为~B。

删除~B字符的方法

你可以通过以下几种方式批量删除这类字符:

  • 方法1:通过十六进制值精准匹配
    在Vi命令模式下执行:
:%s/\%x82//g

\%x82表示匹配十六进制为0x82的字符(也就是你看到的~B),//g表示全局替换为空(即删除)。

  • 方法2:直接输入原字符匹配
    如果能选中单个~B字符,也可以用Ctrl+V的方式输入该字符进行替换:

    1. 进入命令模式,输入:%s/
    2. 按下Ctrl+V,再输入文件中的~B字符(直接粘贴也可)
    3. 输入//g后回车,完成全局删除
  • 方法3:批量删除所有高位ASCII字符
    如果文件中还有其他类似高位字符,想要一次性清除所有0x80-0xFF区间的字符,执行:

:%s/\%x80-\%xFF//g

验证操作结果

执行替换后,可输入:set list命令显示所有不可见字符,确认~B是否已全部删除,之后用:set nolist恢复正常显示。

内容的提问来源于stack exchange,提问作者SDMark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:47:29