这个问题其实和上一个问题有关有关。
我在 _vimrc 中有以下自定义命令:
command! Test %s/some/\=setreg('C', submatch(0), 'l')/g
Test
我在以下文本上运行此自定义命令:
something
运行命令后,文本变为:
=setreg('C', submatch(0), 'l')thing
但是如果我%s/some/\=setreg('C', submatch(0), 'l')/g
从 Vim 的命令行运行相同的命令,我会得到:
0thing
运行自定义命令Test
时,寄存器C
不会更改。但是当我按预期从命令行运行上述命令时,它发生了变化。