我在vimscript中有一个字符串变量,其中包含一些用于突出显示的ANSI转义字符.字符串看起来像,
^[[32m MyStringBody ^[[0m
Run Code Online (Sandbox Code Playgroud)
我把字面上的转义码放在vim显示它,它是转义序列 - Ctrl-v- [.
我想用substitute
命令替换所有这些转义字符的出现.
substitute(my_variable, pattern, '', 'g')
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我使用正则表达式模式,将删除这些转义字符.谢谢.
特殊原子\e
匹配<Esc>
= ^[
:
substitute(my_variable, '\e\[[0-9;]\+[mK]', '', 'g')
Run Code Online (Sandbox Code Playgroud)
您也可以使用\%d27
(<Esc>
十进制27)或\%x1b
(十六进制).该模式应匹配(大多数)ANSI转义序列.