Vim - Diff
Mirip dengan perintah UNIX diff, kita dapat menggunakan Vim untuk menunjukkan diff dengan cara yang jauh lebih baik. Ini akan menunjukkan perbedaan dalam warna-warni. Dalam bab ini, kita akan membahas item berikut -
- Tunjukkan perbedaan antar file
- Aktifkan dan nonaktifkan mode diff
- Navigasi dalam mode berbeda
- Menerapkan perubahan dari jendela diff
Tunjukkan perbedaan
Untuk menunjukkan perbedaan antara file, jalankan perintah di bawah ini -
$ vimdiff <file> <file>
OR
$ vim –d <file> <file>
Misalnya perintah di bawah ini menunjukkan perbedaan -
Pada gambar di atas, teks yang disorot dengan warna magenta biasa terjadi. Teks yang tersisa disorot dengan warna merah yang menunjukkan bahwa ada beberapa perbedaan setelah teks umum.
Aktifkan dan nonaktifkan mode diff
Jika Anda sudah berada di vim dan ingin melakukan tindakan diff, gunakan salah satu dari perintah berikut -
diffsplit
Gunakan perintah di bawah ini untuk melakukan pemisahan horizontal -
:diffsplit filename
Gambar di atas menunjukkan bahwa kita membandingkan dua file yaitu message-1.txt dan message-2.txt.
Beda vertikal
Untuk melakukan pemisahan vertikal gunakan perintah berikut -
:vert diffsplit <filename>
Ini membuka jendela berikut -
Gambar di atas menunjukkan bahwa kita membandingkan dua file yaitu message-1.txt dan message-2.txt.
Navigasi dalam mode berbeda
Navigasi dalam mode diff sedikit berbeda. Misalnya, ketika Anda menggulir teks dari satu jendela maka teks dari jendela yang berdekatan juga digulir. Ini disebut scrollbind. Untuk mengaktifkan penggunaan ini -
:set scrollbind
Untuk menonaktifkan penggunaan ini -
:set noscrollbind
Jika Anda mengedit file dalam mode ini, gunakan perintah berikut untuk memperbarui diff -
:diffupdate
Beralih di antara jendela diff
Untuk beralih di antara jendela diff, jalankan perintah berikut -
Ctrl + w Ctrl + w
Harap dicatat bahwa, kita harus menekan Ctrl + w 2 kali.
Lompat ke perubahan sebelumnya
Di jendela diff, jalankan perintah berikut untuk melompat ke perubahan sebelumnya -
[c
Lompat ke perubahan berikutnya
Di jendela diff, jalankan perintah berikut untuk melompat ke perubahan berikutnya -
]c
Terapkan perubahan dari jendela diff
Menerapkan perubahan di jendela diff saat ini
Untuk menerapkan perubahan dari jendela diff yang berdekatan ke jendela diff saat ini, jalankan -
:diffget
Misalnya, jika Anda berada di jendela kiri dan Anda ingin mengubah dari jendela kanan ke jendela saat ini maka Anda akan menjalankan perintah di atas.
Terapkan perubahan dari panel saat ini ke yang lain
Untuk menerapkan perubahan dari jendela diff saat ini ke jendela diff yang berdekatan, jalankan -
:diffput
Misalnya, jika Anda berada di jendela kiri dan Anda ingin menerapkan perubahan dari jendela saat ini ke jendela kanan maka Anda akan menjalankan perintah di atas.