在 VIM 中替换 unicode 字符?

dai*_*isy 22 vim

我从一台 Windows 机器上得到了一些日志,其中包含 的多个实例<200e>,我知道它是一个 Unicode 字符,但是如何使用s命令删除它?

我不知道如何在命令行中输入。

编辑

这是一个 Unicode 字符,这意味着我可以通过x按一个键来删除它......它不是 6 个字符<200e>......

Mar*_*rco 29

来自:help i_CTRL-V_digit

使用 CTRL-V 可以直接输入字符的十进制、八进制或十六进制值。这样你就可以输入任何字符,除了换行符 (, value 10)。字符值的输入有五种方式:

first char  mode         max nr of chars   max value
( none )    decimal        3               255
o or O      octal          3               377      (255)
x or X      hexadecimal    2               ff       (255)
u           hexadecimal    4               ffff     (65535)
U           hexadecimal    8               7fffffff (2147483647)
Run Code Online (Sandbox Code Playgroud)

这意味着您可以使用<Ctrl-v>u200e来输入字符并像往常一样在替代命令或其他地方使用它。

:%s/<Ctrl-v>u200e//g
Run Code Online (Sandbox Code Playgroud)

  • 还有一种特定于正则表达式的方式来表示扩展字符,请参阅`:help /\%u`(这让您无需使用 Cv 即可键入,即很容易“粘贴”):`%s/\%u200e //g` (11认同)