小编典典

如何在 Vim 中删除(不剪切)?

all

如何删除一行而不将其放入我的默认缓冲区?

例子:

line that will be copied.

line that I want to be substitued with the previous one.

我正在尝试做的事情:

yy
dd
p

但是 Vim 将最近复制的字符串替换为已删除(剪切)的字符串。我知道我可以使用像, "1yy,
ddthen之类的缓冲区"1p,但是我总是忘记将复制的字符串放在缓冲区中,然后我需要先粘贴我的内容(将被复制的行),然后删除我想要的内容(我想要的行用前一个代替。)

如何在不复制的情况下真正删除 Vi(m) 中的文本?

另一个相关问题是如何在插入模式下转发删除单词?我想要类似于Ctrl+的东西w


阅读 73

收藏
2022-06-14

共1个答案

小编典典

使用“黑洞寄存器”,"_真正删除一些东西:"_d
用于"_dP粘贴某些内容并保留以供进一步粘贴。

对于第二个问题,您可以使用<C-o>dw. <C-o>用于在不离开 插入 模式的情况下执行普通命令。

当然,您可以设置自己的映射以节省输入。我有这些:

nnoremap <leader>d "_d
xnoremap <leader>d "_d
xnoremap <leader>p "_dP
2022-06-14