Cara Melakukan Diff dan Merge File di Vim: Panduan Cepat untuk Developer
Vim bukan cuma editor teks biasa. Buat kamu yang sering utak-atik kode, fitur diff dan merge di Vim bisa jadi senjata ampuh buat bandingin dan nggabungin perubahan di file. Nggak perlu install tools tambahan, semua bisa dilakuin langsung dari terminal. Yuk, simak cara praktisnya!
Apa Itu Diff dan Merge di Vim?
Diff (short untuk difference) adalah fitur buat membandingkan dua file atau lebih, nampilin perbedaan baris per baris. Sementara merge adalah proses nggabungin perubahan dari file yang berbeda, biasanya pas kolaborasi di Git. Kombinasi keduanya ini sering dipake buat ngerjain konflik saat merge branch atau ngecek perubahan kode.
Mulai dengan Mode Diff
Buka terminal, lalu ketik perintah ini buat membandingkan dua file:
vim -d file1.txt file2.txt
Atau kalo udah buka Vim, aktifkan mode diff dengan perintah:
:diffthis
Kalo file lebih dari dua, tinggal tambah split window pake :split
atau :vsplit
, lalu aktifkan :diffthis
di tiap window.
Navigasi di Mode Diff
Saat mode diff aktif, Vim akan nampilin perbedaan baris dengan penanda khusus:
- Baris yang sama bakal kelihatan normal.
- Baris yang beda ditandai dengan warna atau karakter khusus (tergantung konfigurasi Vim).
- Penanda konflik seperti
<<<<<<<
,=======
, dan>>>>>>>
muncul kalo ada tabrakan saat merge.
Merge File dengan Vimdiff
Buat merge file, buka Vim dengan mode diff:
vim -d file1.txt file2.txt
Lalu, pilih perubahan yang mau diambil:
- Pindahin perubahan dari file kiri ke kanan pake
dp
(diff put). - Ambil perubahan dari file kanan ke kiri pake
do
(diff get). - Kalo ada konflik, edit manual di bagian penanda
<<<<<<<
sampai>>>>>>>
, terus hapus penanda dan pilih versi yang bener.
Tips Praktis
- Simpan Perubahan: Jangan lupa save pake
:w
setelah merge. Kalo ada permission error, tambah!
seperti:wq!
. - Nonaktifkan Diff: Kalo udah selesai, matikan mode diff pake
:diffoff
. - Buka File di Split Window: Pake
:diffsplit namafile.txt
buat compare file baru tanpa keluar dari Vim.
Kasus Umum: Merge Konflik di Git
Kalo lagi ngerjain Git merge dan ketemu konflik, buka file pake:
vim -d <file>
Lalu, selesain konflik pake perintah di atas. Setelah fix, tambah file ke Git staging pake git add <file>
dan lanjutin commit.
Kesalahan yang Sering Terjadi
- Lupa aktifin
:diffthis
di tiap window split. - Nggak ngecek penanda konflik sebelum save.
- Salah tekan tombol, jadi malah ngedit file yang nggak dimaksud.
Dengan latihan, kamu bisa lebih cepat ngerjain diff dan merge di Vim dibanding tools GUI. Selamat nyoba!