比较文件时,我喜欢使用vimdiff
(或vim -d
),我知道推荐使用vimdiff复制更改的方法是:
]c - advance to the next block with differences
[c - reverse search for the previous block with differences
do (diff obtain) - bring changes from the other file to the current file
dp (diff put) - send changes from the current file to the other file
我也知道
:diffget
与do
:diffput
与dp
所有这些命令都能完美运行(包括:diffput
),但是当我输入dp
时,没有任何变化,并且会产生错误声音。
我认为这是因为与vim-fugitive的热键映射冲突,其中有一个热键dp
:
dp :Git! diff (p for patch; use :Gw to apply)
dp :Git add --intent-to-add (untracked files)
如何解决这个问题?谢谢。
答案 0 :(得分:1)
您仍然可以通过:normal! dp
调用内置映射。
如果您需要多次,最好取消定义原始缓冲区本地映射:
:nunmap <buffer> dp
但是,正如@Kent所评论的那样,逃犯dp
映射仅在预览窗口(cp。:h fugitive-:Gstatus
)中有效。由于您应该使用普通窗口进行差异和合并,因此不应该重叠。
答案 1 :(得分:0)
我遇到了同样的问题。我的错误是map p
映射p也处于运营商挂起模式。您可以尝试ounmap p
。就我而言,它与miniyank plugin