J'ai commencé à utiliser vimdiff aujourd'hui, et je voulais faire certaines des choses que je tenais pour acquises sur les éditeurs de différences basés sur Windows (comme développer / réduire une section diff, avoir une expansion complète des fichiers / seulement des différences avec 3 lignes de contexte ci-dessus ou ci-dessous, etc.). Je ne connais actuellement que les commandes suivantes:
Raccourcis clavier:
do - Obtenez les modifications d'une autre fenêtre dans la fenêtre actuelle.
dp - Mettez les modifications de la fenêtre actuelle dans l'autre fenêtre.
]c - Passez au prochain changement.
[c - Passez à la modification précédente.
CTRL+ W, w- Bascule vers l'autre fenêtre partagée ( CTRL+ W, CTRL+ Wfait la même chose, au cas où vous lâcheriez la CTRLclé un peu plus tard)
Quelqu'un pourrait-il m'orienter dans la bonne direction pour que je puisse reproduire des fonctionnalités similaires?
Ce serait bien si je pouvais agrandir / réduire les lignes autour des diffs, par exemple.
Réponses:
Mis à part ceux que vous mentionnez, je n'utilise fréquemment que lorsque je diffère les éléments suivants:
:diffupdate
:diffu
-> recalculer le diff, utile lorsque, après avoir fait plusieurs changements, vim n'affiche plus de changements minimes. Notez que cela ne fonctionne que si les fichiers ont été modifiés dans vimdiff. Sinon, utilisez::e
pour recharger les fichiers s'ils ont été modifiés en dehors de vimdiff.:set noscrollbind
-> désactiver temporairement le défilement simultané sur les deux tampons, réactiver par:set scrollbind
et défilement.La plupart de ce que vous avez demandé est le pliage: chapitre du manuel d'utilisation de vim sur le pliage . En dehors des diffs, j'utilise parfois:
zo
-> pli ouvert.zc
-> fermer le pli.Mais vous serez probablement mieux servi par:
zr
-> réduction du niveau de pliage.zm
-> un autre niveau de pliage, s'il vous plaît.ou même:
zR
-> Réduisez complètement le pliage, dis-je!.zM
-> pliez le plus!.L'autre chose que vous avez demandée, utilisez n lignes de pliage, se trouve dans la section du manuel de référence de vim sur les options , via la section sur diff :
set diffopt=<TAB>
, puis mettez à jour ou ajoutezcontext:n
.Vous devriez également jeter un oeil à la section du manuel d'utilisation sur diff .
la source
:set noscrollbind
prendre effet, il doit également être:set nocursorbind
utilisé, ce qui n'est pas la valeur par défaut. Les deux options doivent donc être ajustées.définir vimdiff pour ignorer la casse
Après avoir démarré diff diff avec
Je trouve que fâcheusement un fichier a des mots-clés MySQL en minuscules, l'autre en majuscule montrant des différences sur pratiquement toutes les autres lignes
cela met à jour l'écran dynamiquement et vous pouvez tout aussi facilement l'éteindre à nouveau
la source
En fait, si vous le faites
Ctrl+W W
, vous n'aurez pas besoin d'ajouter cet extraCtrl
. Fait la même chose.la source
ctrl + w, w comme mentionné peut être utilisé pour naviguer d'un volet à l'autre.
Maintenant, vous pouvez sélectionner un changement particulier seul et le coller dans l'autre volet comme suit.Ici, je donne un exemple comme si je voulais changer mon morceau de code du volet 1 au volet 2 et actuellement mon curseur est dans le volet 1
Utilisez Shift-v pour mettre une ligne en surbrillance et utilisez les touches haut ou bas pour sélectionner le morceau de code dont vous avez besoin et continuez à partir de l'étape 3 écrite ci-dessous pour coller vos modifications dans l'autre volet.
Utilisez le mode visuel, puis modifiez-le
1 cliquez sur 'v' cela vous amènera au mode visuel 2 utilisez la touche haut ou bas pour sélectionner votre code requis 3 cliquez sur, Esc 'touche d'échappement 4 Maintenant utilisez' yy 'pour copier ou' dd 'pour couper le changement 5 do' ctrl + w, w 'pour naviguer vers le volet 2 6 cliquez sur' p 'pour coller votre modification là où vous le souhaitez
la source