如何用vim中适当的ascii代码替换文件中的char

Neg*_*_EV 3 vim

在vim缓冲区中如果我有一个字符列表说:

一个

C

C

d

d

并且对于每一个我想用它对应的ascii代码(十进制)替换它.有没有办法在不使用外部工具的情况下执行此操作:r!some_tool

例如,我知道有:ascii和ga命令但它们将值打印到屏幕但我找不到将其输出到缓冲区的方法.

jam*_*san 7

您可以利用sub-replace-expression功能以及char2nr()submatch().以下内容将替换行开头的任何字母字符及其十进制等效值.

%s/^\a/\=char2nr(submatch(0))/
Run Code Online (Sandbox Code Playgroud)

如果你想在该行的开头任何字符做到这一点,只需更换\a..