この質問は、実際には私の以前の質問に関連しています。
_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
は変更されません。しかし、上記のコマンドをコマンドラインから実行すると、期待どおりに変更されます。