如何删除不把它变成我的默认缓冲区一条线吗?
例:
line that will be copied.
line that I want to be substitued with the previous one.
我想要做的事:
yy
dd
p
但是Vim的替代近期字符串复制与删除的(板缺)之一。 我知道,我可以使用缓冲区像, "1yy
, dd
则"1p
,但我总是忘了把复制的字符串中的一个缓冲区,然后我需要先(将要复制线)贴我的内容,然后删除我想要什么(线,我想与先前一个被取代。)
我怎样才能真正删除不复制它在六(米)的文本?
另一个相关的问题是我怎么能转发删除插入模式句话吗? 我想类似Ctrl + W的东西。
使用“黑洞寄存器”, "_
真正删除的内容: "_d
。
使用"_dP
粘贴的东西,把它用于进一步的粘贴。
对于第二个问题,你可以使用<Co>dw
。 <Co>
用于wothout离开插入模式执行一个正常的命令。
你可以设置自己的映射,以节省当然打字。 我有这些:
nnoremap <leader>d "_d
xnoremap <leader>d "_d
xnoremap <leader>p "_dP
黑洞寄存器 "_
会做的伎俩,但有一个更好的解决方案:
当你进入线回来的p
要粘贴的(挥发性) 默认的内容命令寄存器 ""
,这已被覆盖dd
。 但是,你仍然可以从(非易失性)粘贴抽出登记 "0
这将不会被删除命令覆盖dd
。
因此,这些都是你希望按你的例子使用的命令:
yy
dd
"0p
这就是我不喜欢有关VIM的东西之一......我最终映射dd
黑洞寄存器在我的vimrc,自生活一直很好:
nnoremap d "_d
vnoremap 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”是您新的剪切命令。
如果您想togther使用这些映射与共享系统剪贴板配置,请参阅进一步的细节https://github.com/pazams/d-is-for-delete
你可以用"_d
防止事情覆盖你抽出文本。你可以存储猛拉或在任何注册,你想删除的文字"
,而_
是“黑洞”注册,在那里你送,你不关心的东西。
欲了解更多信息,您可以键入:help "_
或:help deleting
yy
Vx
p
当视觉模式, x
将删除选择,所以如果你想删除一整行,先按下V
选择在视觉模式下的行,然后按x
删除选区。