在 Vim 中,删除 ^@ 符号的几种方法
在 Vim 中,^@ 表示 ASCII 码中的 NULL 字符,编码为 0x00,占用一个字节。
删除方法
方法1,采用 <CTRL-V><CTRL-J> 或 <CTRL-2> 或 <CTRL-SHIFT-2> 按键输入在 Vim 中输入 NULL 字符(显示为 ^@),然后将所有的 NULL 字符替换为空字符 ''。具体命令如下:
:%s/<CTRL-V><CTRL-J>//g
:%s/<CTRL->//g
:%s/<CTRL-SHIFT->//g
注,<CTRL-V> 表示按住<CTRL>键不放,然后按下字符 V 键;<CTRL-SHIFT-2> 表示按住 <CTRL> 键和 <SHIFT> 键不放,然后按下字符 2 键。
注意,<CTRL-V><CTRL-J>组合按键比较通用,按键 <CTRL-2> 或 <CTRL-SHIFT-2> 在某些电脑上可能失效。如果按键方式全部无效,可以采用方法 2。
方法2,在 Vim 替换文本命令时,采用 NULL 字符的 ASCII 编码表示。具体命令如下:
:%s/\%x00//g
也可以采用 <CTRL-V> 按键,然后在 Vim 中输入 NULL 字符的 3 位八进制 ASCII 编码,即 000。具体命令如下:
:%s/<CTRL-V>//g
方法3,采用 Linux 命令行工具 tr 。tr 工具用于转换、压缩或删除来自标准输入的字符,并写到标准输出。在 Vim 中的具体命令如下:
:%!tr -d '\000'
注, -d 为 --delete 的缩写,表示删除字符 '\000' 。
如果需要处理文件为 input.txt ,可在 Linux Bash 命令行中,使用如下命令:
tr -d '\000' < input.txt > output.txt
表示从文件 input.txt 读入文本,删除 NULL 字符(\000)后,输出到文件 output.txt 。
参考资料
1] ^@ Symbol in vim. https://stackoverflow.com/questions/9124755/symbol-in-vim
2] How to remove this symbol with vim. https://superuser.com/questions/75130/how-to-remove-this-symbol-with-vim
在 Vim 中,删除 ^@ 符号的几种方法的更多相关文章
- ArcGIS Engine中删除要素的几种方法总结
转自原文 ArcGIS Engine中删除要素的几种方法总结 /// <summary> /// 通过IFeature.Delete方法删除要素 /// </summary> ...
- PHP从数组中删除元素的四种方法实例
PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...
- MySQL中删除数据的两种方法
转自:http://blog.csdn.net/apache6/article/details/2778878 1. 在MySQL中有两种方法可以删除数据: 一种是delete语句,另一种是trunc ...
- NHibernate 中删除数据的几种方法
今天下午有人在QQ群上问在NHibernate上如何根据条件删除多条数据,于是我自己就写了些测试代码,并总结了一下NHibernate中删除数据的方式,做个备忘.不过不能保证囊括所有的方式,如果还有别 ...
- 总结NHibernate 中删除数据的几种方法
今天下午有人在QQ群上问在NHibernate上如何根据条件删除多条数据,于是我自己就写了些测试代码,并总结了一下NHibernate中删除数据的方式,做个备忘.不过不能保证囊括所有的方式,如果还有别 ...
- python中List添加、删除元素的几种方法
一.python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作).在Pytho ...
- JavaScript从数组中删除指定值元素的方法
本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...
- CSS中隐藏内容的3种方法及属性值
CSS中隐藏内容的3种方法及属性值 (2011-02-11 13:33:59) 在制作网页时,隐藏内容也是一种比较常用的手法,它的作用一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出 ...
- js中数组去重的几种方法
js中数组去重的几种方法 1.遍历数组,一一比较,比较到相同的就删除后面的 function unique(arr){ ...
- CSS中隐藏内容的3种方法
CSS中隐藏内容的3种方法 一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出层.隐藏滚动条.清除错位和浮动等. 1.使用display:none来隐藏所有内容 display:none可 ...
随机推荐
- zzulioj - 2558 数字的差值
首先感谢抱抱熊dalao的题解,提供了一种比较简单的思路.[抱抱熊dalao的题解](https://note.youdao.com/ynoteshare1/index.html?id=52f087d ...
- PYTHON读取EXCEL内容再转变成HTML添加到OUTLOOK中
需求 读取excel里的表格里的内容,然后打开本机的outlook.把excel里的内容添加到正文里,注意.这里是要添加到正文!正文!正文!而不是添加到附件里 设计思路 1.excel处理 打开exc ...
- 这里有一个url=https://www/.baidu.com/s?id=111&name=yourname,写一个函数获取query的参数和值存放在一个对象
console.log(getJson(url)); function getJson(url){ var obj={}; var arr=url.split("?")[1].sp ...
- 爬虫之selenium模块chrome版本映射表
驱动及版本对应关系如下: 驱动下载路径见底部: chromedriver版本 支持的Chrome版本v2.43 v69-71v2.42 v68-70v2.41 v67-69v2.40 v66-68v2 ...
- 剑指offer15 二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如,把9表示成二进制是1001,有2位是1.因此,如果输入9则函数输出2. int Number(int n) { ; while ...
- priority_queue(优先队列)使用方法
priority_queue默认是一个大根堆: 并且出队方式与普通队列queue的front不一样,是top . 如果想用小根堆,可以修改定义时的参数: priority_queue<int,v ...
- 关于微信订阅号里自动回复里的a链接的问题
前阵子做了一个微信订阅号的活动,然后发现一个问题:就是回复内容里的a标签微信没有解析出来,而是这样 正常应该是这样: 具体出现这种情况的手机有: 魅族的型号是:M1 metal小米的型号是:MI 5X ...
- Solr的核心操作案例
@Service public class SearchServiceImpl implements SearchService { @Autowired private SolrTemplate s ...
- IO流—字符流
字符流 只能读写文本文件 Reader 抽象类 字符输出流的父类 Writer 抽象类 字符输出流的父类 字符转换输出流: OutputStreamWriter(OutputStream out):创 ...
- Python下的XML-RPC客户端和服务端实现(基于xmlrpclib SimpleXMLRPCServer 模块)
RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立 ...