vim banyak diminati sebagai pilihan IDE untuk membangun aplikasi C/C++. vim digabung dengan make
dan gdb
cukup ampuh untuk mengelola project, bahkan project yang cukup besar.
Keuntungan dan feature-featurenya vim
antara lain:
vim
versi 5 ke atas?).make
/gcc
dalam memparse error yang dihasilkan gcc
dan kursor dapat menunjuk ke source file dan baris yang tepat di source file yang ada kesalahan.Memang pada awalnya cukup sulit untuk mempelajari vim
, tapi bayangkan bahwa setelah kita mahir maka kita akan mahir juga menggunakan vi
, dan ini adalah salah satu indikator kesenioran kita dalam memakai Unix. ;)
Dan 'gengsi' yang lain adalah, vim
atau vi
yang mode text dapat dijalankan di terminal-terminal atau telnet client yang bodoh, dimana kebanyakan kunci keyboard tidak jalan (seperti arrow pad, home, end, pgdown, etc). Ini juga salah satu indikator bahwa kita adalah pemakai Unix yang cukup 'veteran'..
vim
yang saya pakai adalah gvim
, yaitu vim
mode GUI, karena kebanyakan saya bekerja di X Window terminal. Dan berdasarkan pengalaman, vim
yang mode console cukup bermasalah pada setting keyboardnya (karena saya tidak tahu bagaimana menset keyboard yang baik dan benar).
Agar lebih efektif, saya set alias vi
menjadi gvim
:
$ alias vi=gvim
vim
(dan vi
) mempunyai tiga mode operasi:
Berikut adalah summary perintah-perintah dan option-option pada vim
yang mungkin berguna (hanya yang penting-penting dan sering dipakai saja, itu pun tidak lengkap karena saya juga nggak hapal semuanya ;).
Operasi file:
:q Tutup dokumen yang aktif tanpa menyimpan ke disk.
:q! Paksa perintah :q di atas.
:x Save dokumen yang aktif, lalu tutup dokumen itu.
:x! Paksa perintah :x di atas.
:w Save dokumen yang aktif.
:f file Save dokumen menjadi file (== Save as).
:w! Paksa perintah :w di atas.
:e file Edit/open file
:split file Open file in a new (MDI) window.
:!cmdline Mengeksekusi perintah 'cmdline' di shell.
<Esc> Membatalkan perintah.
Pergerakan kursor:
<up> atau k Ke atas
<dn> atay j Ke bawah
<left> atau h Ke kiri
<rght> atay l ke kanan
<pgup> atau [[ Page-up
<pgdn> atau ]] Page-down
<home> atau 0 Ke awal line
<end> atau $ Ke akhir line
ctrl-home atau gg Ke awal file
ctrl-end Ke akhir file
ctrl-w j Pindah ke window yang di atas
ctrl-w k Pindah ke window yang di bawah
Pindah mode:
<ins> atau i Pindah ke mode Insert
r Pindah ke mode Replace
v Pindah ke mode Visual
Operasi teks:
/teks Search string 'teks' di dokumen aktif
[btw, untuk search/replace lupa nih!]
<Del> atau x Menhapus karakter di bawah kursor, dan memasukkan ke
'clipboard'.
dw Menghapus kata (mulai posisi kursor sampai akhir kata),
dan memasukkan ke 'clipboard'.
dd Menghapus satu baris, dan memasukkan ke 'clipboard'.
P Paste isi clipboard
u Undo
Mode Insert diaktifkan dengan menekan tombol <Insert> atau tombol 'i'
dari mode Normal. Jika tombol <Insert> ditekan lagi untuk kedua kalinya, maka mode Replace akan diaktifkan. Untuk kembali ke mode Normal, tekan <Escape>.
Kunci-kunci:
<Esc> Kembali ke mode normal.
<arrow> <pgdn> <pgup> Menggerakkan kursor.
<home> <end> Menggerakkan kursor ke awal/akhir baris.
<ctrl-home> <ctrl-end> Menggerakkan kursor ke awal/akhir dokumen.
<del> Menghapus karakter dan memasukkan ke
'clipboard'.
<backspace> Menghapus karakter sebelum kursor.
<shift-left> Ke kata sebelumnya.
<shift-right> Ke kata setelahnya.
Mode Visual diaktifkan dengan menekan tombol tombol 'v'
dari mode Normal. Untuk kembali ke mode Normal, tekan <Escape>.
Kunci-kunci di mode Visual:
<arrow> Menggerakkan kursor untuk memilih area yang hendak di-select
y Yank, copy pilihan area ke 'clipboard' dan
kembali ke mode Normal.
c atau d Cut, cut pilihan area ke 'clipboard' dan
kembali ke mode normal.
<Esc> Kembali ke mode Normal
Saya memakai perintah ini ketika mengedit file source C/C++ di vim
(perintah di bawah dieksekusi di mode Normal):
:set ruler Untuk menampilkan ruler di status bar.
:syntax on Untuk meng-enable-kan syntax coloring (hanya terdapat
di vim versi yang baru (versi 5?)).
:set cin Untuk meng-enable-kan C/C++ style indentation.
:set tabstop=4 Membuat agar lebar tab menjadi 4 karakter.
Agar tidak repot mengeksekusi perintah-perintah di atas setiap kali menjalankan vim
, maka saya men-save perintah di atas di file .vimrc
di home direktori saya.
Isi file ~/.vimrc
:
version 4
set cindent
set ruler
set tabstop=4
Jika Anda memakai vim
versi selain versi 4.x, maka baris version 4
di atas diganti dengan nomor major version yag sesuai (misalnya memakai versi 5.x, ganti dengan version 5
).
Kalau ingin mengaktifkan syntax coloring setiap menjalankan vim
, maka tambahkan baris ini di ~/.vimrc
syntax on
Catatan: syntax coloring hanya ada di vim
versi yang baru (vim
versi 4.6 yang ada di CD RedHat 5.0 belum mensupport syntax coloring, jadi mungkin baru ada pada vim
versi 5 ke atas).
Untuk meng-compile dari vim
, maka kita perlu membuat Makefile
untuk project kita. Kemudian, setelah selesai mengedit suatu file source, kita save dengan perintah :w
, dan tanpa keluar dari vim
kita ketik perintah :mak
atau :make
.
vim
kemudian akan memanggil make
, dan menampilkan serta menyimpan pesan-pesan kesalahan yang ada ketika meng-compile program tersebut.
Untuk menelusuri kesalahan, gunakan kunci-kunci berikut:
:cc Menampilkan error yang current, dan aktifkan file source
dan line yang salah.
:cn Pergi ke kesalahan berikutnya, dan aktifkan file source
dan line yang salah.
:cl List pesan-pesan kesalahan yang dihasilkan.
:cc n Menampilkan kesalan nomor n, dan aktifkan file source
dan line yang salah.
Informasi lebih lanjut tentang pengkompilan program di vim
dapat dibaca dengan perintah :help quickfix
dari mode Normal.