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
あたりに。
ググるよりヘルプ読んだほうが早かった。ヘルプ重要。