我有一些上来如^ C或^ B,我要查找和替换这些字符非打印字符的文件,我怎么去这样做?
假设你想替换C ^ C:
:%s/CtrlVC/C/g
其中CtrlVC指V型然后℃,同时按住Ctrl按压。
CtrlV让你输入控制字符。
仅删除控制符号:
:%s/[[:cntrl:]]//g
删除非打印字符(请注意,在之前的版本8.1.1〜这消除非ASCII字符也可以):
:%s/[^[:print:]]//g
如果你有一些不可打印,非控制字符,例如,它们之间的区别可以看出zero-width space:
节省您的VIM文件后,试试这个(假设你是在Linux环境下)
:%!tr -cd '[:print:]\n'
使用议会的控制字符这里的答案都不为我工作。我不得不进入一个unicode范围。
:%s/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]//g
这unicode的范围在此等后发现:https://stackoverflow.com/a/8171868/231914
您可以使用:
:%s/^C//g
要获得^C
按住控制键,按V
然后C
(两者同时按住Ctrl键)和^C
就会出现。这将找到所有出现的东西就没有更换。
要删除这两个^C
和^B
你可以这样做:
:%s/^C\|^B//g