如何删除(不削减)在Vim?
如何删除一行而不将其放入我的默认缓冲区?
例:
line that will be copied. line that I want to be substitued with the previous one. 我在做什么:
 yy dd p 
 但是Vim用删除(cutted)的replace最近复制的string。 我知道我可以使用像"1yy , dd然后"1p缓冲区,但我总是忘记把复制的string放在一个缓冲区,然后我需要先粘贴我的内容(将被复制的行),然后删除我想要的(我想用前一行代替的行)。 
如何删除Vi(m)中的文本而不复制它?
另一个相关的问题是我如何在插入模式下转发删除一个单词? 我想要类似于Ctrl + w的东西。
 使用“黑洞登记”, "_确实删除了一些东西: "_d "_ "_d 。 
 使用"_dP粘贴东西,并保持它可用于进一步粘贴。 
 对于第二个问题,你可以使用<Co>dw 。  <Co>用于在离开插入模式时执行正常的命令。 
当然,你可以设置自己的映射来保存input。 我有这些:
 nnoremap <leader>d "_d vnoremap <leader>d "_d vnoremap <leader>p "_dP 
  黑洞登记册 "_将会诀窍,但有一个更好的解决办法: 
 当你用p命令input命令行时,你正在粘贴已被dd覆盖的(volatile) 默认寄存器 ""的内容。 但是你仍然可以从(非易失性的) 跳转寄存器 "0 粘贴 ,这不会被删除命令dd覆盖。 
所以这些就是你想要使用的命令:
 yy dd "0p 
 这是我不喜欢vim的事情之一…我结束了映射dd到我的.vimrc黑洞注册,生活一直很好,因为: 
 nnoremap d "_d vnoremap d "_d 
 你可以使用"_d来防止你的文本被覆盖,你可以在任何你想要的寄存器中存储被抽取或删除的文本" ,而_是“黑洞”寄存器,在那里你发送你不关心的东西。 
 有关更多信息,您可以键入:help "_或:help deleting 
下面的映射将会产生:
- d =>“删除”
- 领导d =>“削减”
 nnoremap x "_x nnoremap d "_d nnoremap D "_D vnoremap d "_d nnoremap <leader>d ""d nnoremap <leader>D ""D vnoremap <leader>d ""d 
此外,将“领导者”键设置为逗号是一个不错的做法,例如:
 let mapleader = "," let g:mapleader = "," 
这2个片段将使“d”成为你的新的命令。
如果您想使用这些映射与共享的系统剪贴板configuration,请参阅https://github.com/pazams/d-is-for-delete
 yy Vx p 
 在可视模式下, x将删除select,因此如果要删除整行,请先按V在可视模式下select该行,然后按x删除select。