VIM:更改删除的默认行为

VIM:更改删除的默认行为

删除命令会拉出已删除的文本,但这不是我期望的行为。我只想删除文本而不覆盖我拉出的文本。是否可以使用配置更改默认行为?PS:我不想使用其他命令来实现它。

答案1

是的,d而且:d[elete]可能会造成混淆,因为它们的行为类似于“剪切”。

为了d真正地删除,必须指定“黑洞寄存器”(:help "_):

"_d

您可以映射d"_d

nnoremap d "_d

但我会保留原来的命令。

答案2

正如 romaini 所说,d 的原始命令工作得很好,我不建议更改它。

不过你可以"_d使用<leader>d

在我的例子中,leader 键是,,所以不用按,"_d我会写,d

" shortcut to delete in the black hole register
nnoremap <leader>d "_d
vnoremap <leader>d "_d
" shortcut to paste but keeping the current register
vnoremap <leader>p "_dP

相关内容