-2

vimスクリプトでの簡単なPython操作:

vim.current.buffer[current] = 'new line';

これは、現在のレジスタを上書きしますが、これは実行したくありません。

つまり、行を「改行」に置き換えたいのですが、レジスタの内容はそのままにしておきます(この操作によってレジスタが上書きされます)。

私は関連があると思われる「ブラックホールレジスタ」を知っています。しかし、スクリプトでのバッファー操作にどのように使用するかは私にはわかりません。

4

1 に答える 1

0

Windows/x64 上の Vim 7.3.823 でこれを再現することはできません。レジスタが実際に変更された場合、それは Vim のバグであり、vim_dev メーリング リストで報告する必要があります。これが私が再現しようとしたものです:

:let @@ = 'foo'
:python import vim
:python vim.current.buffer[1] = 'new line'
:reg "
--- Registers ---
""   foo
于 2013-03-07T13:02:59.553 に答える