Cara Melakukan Diff dan Merge File di Vim

calendar_today
schedule 2 min read

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:

code
vim -d file1.txt file2.txt  

Atau kalo udah buka Vim, aktifkan mode diff dengan perintah:

code
:diffthis  

Kalo file lebih dari dua, tinggal tambah split window pake :split atau :vsplit, lalu aktifkan :diffthis di tiap window.

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:

code
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

  1. Simpan Perubahan: Jangan lupa save pake :w setelah merge. Kalo ada permission error, tambah ! seperti :wq!.
  2. Nonaktifkan Diff: Kalo udah selesai, matikan mode diff pake :diffoff.
  3. 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:

code
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!

A

Written by Ariful

Full-stack engineer obsessed with web performance.