2016-10-19 5 views
1

Lorsque vous comparez des fichiers, j'aime utiliser vimdiff (ou vim -d) et je connais un moyen recommandé de copier les modifications avec vimdiff est:La touche de raccourci "dp" (diff) a un conflit de mappage avec vim-fugitive, lors de la copie change avec 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 

et je sais aussi que

  • :diffget est le même que do

  • :diffput est le même que dp

Toutes ces commandes fonctionnent parfaitement (y compris :diffput), mais quand je saisis dp, rien ne change et un son d'erreur est produit.

Je pense que cela est à cause d'un conflit de cartographie avec vim-hotkey fugitif, qui a un raccourci clavier dp:

dp :Git! diff (p for patch; use :Gw to apply) 
dp :Git add --intent-to-add (untracked files) 

Comment résoudre ce problème? Je vous remercie.

+0

'dp' de fugitive fonctionne dans la fenêtre de prévisualisation, cependant' dp' de diff est en mode diff, ont-ils un conflit? btw, l'image de votre logo est exactement la même que la mienne – Kent

Répondre

1

Vous pouvez toujours appeler le mappage intégré via :normal! dp.

Si vous avez besoin ce plusieurs fois, mieux undefine la mise en correspondance tampon local d'origine:

:nunmap <buffer> dp 

Cependant, comme @Kent a commenté, la cartographie fugitif dp est actif uniquement dans une fenêtre aperçu (cp. :h fugitive-:Gstatus). Puisque vous devriez utiliser des fenêtres normales pour différer et fusionner, il ne devrait pas y avoir de chevauchement.

+0

': nunmap dp' ne peut pas fonctionner: E31: Pas de telle cartographie –

+0

Je suis désolé. Entrée ': nunmap dp', puis sortie:' E31: Pas de mappage ' En fait, je ne trouve pas dp dans 'nmap'. Je suis d'accord sur ce que vous dites à propos de: "La cartographie dp de fugitive n'est active que dans une fenêtre d'aperçu (cp: h fugitive-: Gstatus)." De plus, au démarrage vim sans .vimrc ou pluggings - 'vim - NONE -N', 'dp'command fonctionne parfaitement. Alors, que pourrais-je faire la prochaine étape? –

+0

Je suis désolé. Entrée ': nunmap dp', puis sortie:' E31: Pas de mapping ' En fait, je ne trouve pas dp dans 'nmap'. Je suis d'accord sur ce que vous dites à propos de: "La cartographie dp de fugitive n'est active que dans une fenêtre d'aperçu (cp: h fugitive-: Gstatus)." De plus, au démarrage vim sans .vimrc ou pluggings - 'vim - NONE -N', 'dp'command fonctionne parfaitement. –

0

J'avais le même problème. Mon erreur était que map p cartes p aussi en mode opérateur-en attente. Vous pouvez essayer de faire un ounmap p. Dans mon cas, il était lié au miniyank plugin