我想要删除任何已删除的文本总是进入编号的寄存器,但我经常会在编号的寄存器中找到我最近删除的内容并且它不存在,因为它不到一个线。
编号寄存器1包含最近删除的文本 删除或更改命令,除非命令指定另一个命令 寄存器或文本小于一行(小删除寄存器 然后使用)。随着每次连续删除或更改,Vim会移动 寄存器1的先前内容为寄存器2,2为3,等等 第四,丢失了寄存器9的先前内容。
这是一个相当罕见的事情,但是当它发生时,它真的很烦人,因为我必须撤消到删除文本的位置,然后删除到命名的寄存器或立即使用删除的文本在它注销之前因为我在删除我刚删除的小文本的过程中删除了其他内容(杂散空格,错误评论等)。
我希望小删除条件对于进入编号寄存器1-9的文本无关紧要。有人知道实现这个目标的方法吗?
答案 0 :(得分:6)
在another such feature request on Reddit期间,发现Vim中有一个错误确实存在
:set clipboard^=unnamed
Vim 7.3.649中的错误has been fixed。因此,如果您使用旧版本,您仍然可以从错误中受益: - )
如果您确实认为这是有用的行为,您可以在vim_dev mailing list上提出此增强请求,但一般情况下,其他选项不受欢迎。如果你能提出令人信服的论据并提供一份包含文档和测试的完整补丁,你的机会会更高。
答案 1 :(得分:1)
在 neovim 编辑器中查看Pull Request:
[RFC] Add an option to use numbered registers for smaller deletions #8169
我尝试添加smalldel
选项,它允许您配置要删入编号寄存器“1 ..”的最小删除字符数.9
此PR合并后的下一个neovim版本将包含此选项。