如何使Vim粘贴始终从寄存器0粘贴,除非它';指定的

如何使Vim粘贴始终从寄存器0粘贴,除非它';指定的,vim,Vim,Vim中的寄存器0应包含最后一个yank命令(y)的结果 现在,我希望p从寄存器0粘贴,而不是从默认寄存器(“)粘贴,除非指定了寄存器(例如通过“+p”) 如何在我的.vimrc中执行此操作 我试过这个: xnoremap p "'v:register'p 但是我不知道如何使用“use-the-specified-register-otherse-0”部分。从 :nnoremap p(v:register==#'“?”“0”:“p” :nnoremap P(v:register==#'“?”“

Vim中的寄存器
0
应包含最后一个yank命令(y)的结果

现在,我希望p从寄存器
0
粘贴,而不是从默认寄存器(
)粘贴,除非指定了寄存器(例如通过“+p”)

如何在我的.vimrc中执行此操作

我试过这个:

xnoremap p "'v:register'p
但是我不知道如何使用“use-the-specified-register-otherse-0”部分。

:nnoremap p(v:register==#'“?”“0”:“p”
:nnoremap P(v:register==#'“?”“0”:“P”
:xnoremap(v:register==#'“?”“0:”)。“p”
:xnoremap(v:register==#'“?”“0:”)。“P”

例如,
nnoremap p“0p
通过这种方式,您可以按
p,+p.
以vim默认方式粘贴。然后按
p
粘贴您的
0
寄存器。这对您合适吗?您可以这样做,但默认情况下从寄存器0粘贴p更可取。
:nnoremap <expr> p (v:register ==# '"' ? '"0' : '') . 'p'
:nnoremap <expr> P (v:register ==# '"' ? '"0' : '') . 'P'
:xnoremap <expr> p (v:register ==# '"' ? '"0' : '') . 'p'
:xnoremap <expr> P (v:register ==# '"' ? '"0' : '') . 'P'