vim - 是否可以不使用vim的小删除寄存器?

标签 vim

我希望将任何已删除的文本始终放入编号寄存器中,但我经常在编号寄存器中找到我最近删除的内容,但它不在那里,因为它小于一个线。

Numbered register 1 contains the text deleted by the most recent delete or change command, unless the command specified another register or the text is less than one line (the small delete register is used then). With each successive deletion or change, Vim shifts the previous contents of register 1 into register 2, 2 into 3, and so forth, losing the previous contents of register 9.

这是一件相当罕见的事情,但是当它发生时,它真的很烦人,因为我必须撤消回删除文本的位置,然后删除到指定的寄存器中,或者在删除的文本超出寄存器之前立即使用它0 因为我在粘贴刚刚删除的小文本的过程中删除了其他内容(杂散的空格、不好的评论等)。

我希望小删除条件对于输入编号寄存器 1-9 的文本无关紧要。有人知道实现这一目标的方法吗?

最佳答案

期间another such feature request on Reddit ,发现 Vim 中存在一个错误,正是这样做的

:set clipboard^=unnamed

那个错误 has been fixed在 Vim 7.3.649 中。因此,如果您使用旧版本,您仍然可以从该错误中受益:-)

如果您确实认为这是有用的行为,您可以在 vim_dev mailing list 上提出此增强请求。 ,尽管一般来说,额外的选择是不受欢迎的。如果您能够提出令人信服的论点,并提供包含文档和测试的完整补丁,那么您的机会就会更高。

关于vim - 是否可以不使用vim的小删除寄存器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14972203/

相关文章:

vim (gvim) - 将标签栏停靠在右侧而不是顶部

Vim:命令开头的双引号是什么意思?

vim - 有没有办法让vim识别文件名末尾的行号?

vim - Lisps 之于 Emacs 之于 Vim 是什么?

vim - 我的 vimgrep 搜索没有像我预期的那样运行

python - 如何在 vim 中删除标签高亮

regex - :g/^$/,/./-j(将多个空白行减少为单个空白)如何在vim中工作?

vim - (tmux+vim) vim 在 tmux 退出后没有清除屏幕

python - Vim 只高亮部分 python 语法

vim - 在vim中,如何将所有现有缩进修改为2?