Mémo vim (suite)

Vimdiff

Pour gérer les différences entre plusieurs fichiers et gérer la copie du contenu d’un fichier vers un autre simplement.

Différence
diff -u fichier1 fichier2            => affiche la différence entre deux fichiers

Exemple :

# diff -u fichier1 fichier2
--- fichier1	2011-03-04 02:43:12.000000000 +0100
+++ fichier2	2012-02-27 08:28:23.665544890 +0100
@@ -7,7 +7,7 @@
 dbport = 3306
 dbname = imaging
 dbuser = mmc
-dbpasswd = mmc
+dbpasswd = Yhd9kdp-
 # dbsslenable = 0
 # dbsslca = /etc/mmc/pulse2/imaging/cacert.pem
 # dbsslcert = /etc/mmc/pulse2/imaging/cert.pem
@@ -25,7 +25,6 @@
 # Menu settings
 # web_def_default_menu_name = Menu
 # web_def_default_timeout = 60
-# web_def_default_hidden_menu = 0
 # web_def_default_background_uri =
 # web_def_default_message = Warning ! Your PC is being backed up or restored
 # start options
Afficher deux fichiers

Premièrement ouvrir le premier fichier

vim fichier

Une fois dans vi, ouvrir le second

Echappe+:+split+path/to/my/second/file  => affiche deux fichiers dans la vi courant
ctrl+w                                  => permet de passer d'un fichier à l'autre

Puis il devient facile de copier/couper du contenu d’un fichier à l’autre.

Autrement on peut utiliser vimdiff, pour voir les différences et accepter ou rejeter les différences.
On ouvre vimdiff, plusieurs façons :

Ouvrir deux fichiers
vimdiff /path/to/file1 /path/to/file2   => ouvre 2 fichiers avec les différences
Ouvrir un fichier, puis un second
vimdiff /path/to/file1          => ouvre un fichier
Echappe+:vs+path/to/file2       => coupe vi verticalement avec le second fichier
Echappe+:sp+path/to/file2       => coupe vi horizontalement avec le second fichier
Echappe+:diffthis               => affiche la différence entre les fichiers
Raccourcis de vimdiff
do          => applique la différence depuis l'autre fenêtre vers la courante
dp          => applique la différence depuis la courante vers l'autre
]c          => passe à la prochaine différence
[c          => passe à la différence précédente
ctrl+W      => passe d'une fenêtre à l'autre
ctrl+w      => passe d'une fenêtre à l'autre

About Tekmans