x で削除した内容をレジスタや YankLing のリストに入れない方法

Vim の定番プラグインらしい YankRing を入れてみたのだが、 x で削除した文字がどんどん YankRing のリストに記録されて鬱陶しかったので調べてみた。 YankRing を使ってなくても、 x で消した文字がレジスタに入って( p とかでペーストされて)面倒なことは多いと思う。

普通の Vimレジスタに入らないようにする

x の代わりに "_x で消す。 x に限らず、レジスタに記録する操作全般( d とか)で "_ を前に付けると black hole register という物騒な名前のレジスタに保存(結果として普通のレジスタには何も起こらない)ということらしい。
いちいち "_x と打つのは面倒すぎるので、 .vimrc に下のように書いておいた。

nnoremap x "_x

詳しくは、

:h quote_

あたりに。

YankRing のリストに入らないようにする

上記の "_x を使っても、 YankRing のリストには入ってしまうので、 .vimrc に下記のようにの YankRing の設定を書いておく。指定なしだと、コメントした方に書いておいた設定値がデフォルトとなる。

let g:yankring_n_keys = 'Y D'
" default
" let g:yankring_n_keys = 'Y D x X'

とりあえず x と X を外しておいた。詳しくは、

:h yankring-mappings

あたりに。

ググるよりヘルプ読んだほうが早かった。ヘルプ重要。