突然想到如何把一个文本文件中用空格分开的字符串变成竖向排列呢?最初的想法是用回车来替换空格,于是写了第一个命令:
:%s/\s/\n/g
但是结果不成功,源文件是:
abc abc abc
abc abc abc
替换后的文件是:
abc^@abc^@abc
abc^@abc^@abc
百思不得其解,于是又想到回车是^M,就把\n改成了^M,结果依然不正确:
abc^Mabc^Mabc
abc^Mabc^Mabc
后来查阅vim的change.txt才明白,^M这个字符不是输入进去的“^”是用<CTRL+V>生成的,而M是用<CTRL+M>生成的,这时候在vim的命令行模式下产生的字符“^M”是高亮的,而手动输入的并不是,这时再次执行:%/\s/^M/g即可得到正确的结果:
abc
abc
abc
abc
abc
abc
vim中将空格变为回车的命令
Pingbacks已打开。
暂无评论