私の知る限り、組み込みのコマンド/関数を使用してレジスタをリストから消すことはできません。~/.viminfo
それは、少し極端に聞こえるあなたからそれらを削除することによってのみ実行できるようです.
vimメーリングリストのこのスレッドには、すべてのレジスタをクリアするコマンドがありますが、それらはから削除されません:reg
:
let regs='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-"' | let i=0 | while (i<strlen(regs)) | exec 'let @'.regs[i].'=""' | let i=i+1 | endwhile | unlet regs
- - 編集 - -
上記のコマンドはもう必要ありませんが、好奇心旺盛な人のために内訳を次に示します。
" The value of variable regs is a string made up of all named
" and numbered registers, plus the search, small delete, and
" unnamed registers. A string can be used as a list for our
" use case so we use the most concise method. We could have
" done let regs = ['a', 'b', 'c', etc. instead.
let regs = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-"'
" We are going to iterate through the string so we initialize
" a loop counter with value 0.
let i = 0
" Here is our loop where we check at each iteration if the loop
" counter is smaller than the length of regs.
while (i < strlen(regs))
" If it is, we programmatically assign an empty string
" to each corresponding register
exec 'let @' . regs[i] . ' = ""'
" and we add 1 to the loop counter.
let i = i + 1
endwhile
" Once we are done, we get rid of the variable we created above
" which is now unnecessary.
unlet regs