1

比较文件时,我喜欢使用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)

如何解决这个问题?谢谢你。

4

2 回答 2

1

您仍然可以通过调用内置映射:normal! dp

如果您需要多次,最好取消定义原始缓冲区本地映射:

:nunmap <buffer> dp

但是,正如@Kent 评论的那样,逃犯的dp映射仅在预览窗口(cp. :h fugitive-:Gstatus)中处于活动状态。由于您应该使用普通窗口进行差异和合并,因此不应该有重叠。

于 2016-10-19T09:34:20.220 回答
0

我遇到了同样的问题。我的错误是map p映射 p 也处于操作员挂起模式。你可以尝试做一个ounmap p。就我而言,它与miniyank 插件有关

于 2017-02-01T14:25:31.750 回答