最近研究在PyCharm中用Vim插件写代码,其寄存器功能确实强大,但经常使用:registers<CR>查看寄存器内容时由于很多各种需要,要对内容清理一下,但全网(包括外网)没找到有关如何在PyCharm有效删除寄存器名称或者其内容的帖子(有在Unix平台的方法但Win下的idea缺不行,毕竟Py中的Vim还是移植的和还在完善的),故需再深入研究一下Py中的Vim机制。经研究有以下2中方式:
一、vim内清除寄存器内容,但不能彻底删除寄存器名字
网上有一个方法是通过写一段Vim能够辨认的代码,如下
command! WipeReg for i in range(a,z) | silent! call setreg(nr2char(i), []) | endfor
但Py的Vim还不支持原生的很多function功能,囧。所以想了一种很笨的方法:
" 清空寄存器,以下是笨方法
func WipeReg()
let @" = ""
let @0 = ""
let @1 = ""
let @2 = ""
let @3 = ""
let @4 = ""
let @5 = ""
let @6 = ""
let @7 = ""
let @8 = ""
let @9 = ""
let @- = ""
let @* = ""
let @+ = ""
let @. = ""
let @: = ""
let @/ = ""
echo "清空寄存器"
endfunc
nnoremap <expr> <A-Þ> WipeReg()
" PyCharm中引号'用 Þ 代表
以上代码放在Py的Vim的配置文件【.ideavimrc】(默认在C:\Users\Administrator),那么当按Alt加引号后清空以上常规的寄存器。清理前后图见下: