vimスクリプトでの簡単なPython操作:
vim.current.buffer[current] = 'new line';
これは、現在のレジスタを上書きしますが、これは実行したくありません。
つまり、行を「改行」に置き換えたいのですが、レジスタの内容はそのままにしておきます(この操作によってレジスタが上書きされます)。
私は関連があると思われる「ブラックホールレジスタ」を知っています。しかし、スクリプトでのバッファー操作にどのように使用するかは私にはわかりません。
Windows/x64 上の Vim 7.3.823 でこれを再現することはできません。レジスタが実際に変更された場合、それは Vim のバグであり、vim_dev メーリング リストで報告する必要があります。これが私が再現しようとしたものです:
:let @@ = 'foo'
:python import vim
:python vim.current.buffer[1] = 'new line'
:reg "
--- Registers ---
"" foo