Syndicate content

Tips/trik vim

Salah satu aplikasi text editor yang suka disebut2 orang yang sering berkecimpung di gnu/linux adalah vim. Pertama kali make mungkin akan kagok dengan gaya si vim ini. Tapi kalo udah biasa, apalagi kalo udah ahli, pasti merasakan enak banget pas lagi make vim. Nahh.. gw pengen berbagi pengalaman gw selama make vim.

Modus

*catatan: Kalo ada yg protes dg istilah “modus”, silakan aja. Soalnya gw gak tau mo make istilah apaan. *

Setidaknya ada 2 modus yg dipake di vim, yaitu modus tuk masukin command dan tuk ngetik. Mungkin ada satu lagi yaitu pas lagi milih2 tulisan.

Sperti namanya, saat di modus command kita cuma bisa masukin command ke si vim. Gak akan bisa ngetik! Namanya juga saat ngasih perintah. Mengenai perintah2 apa yg bisa dipake, ntar gw kasih tau. Sebaliknya, kalo mo ngetik2, ya pindah dulu ke modus tuk ngetik.

Tombol yg harus ditekan tuk ganti2 modus:

  • Pindah ke modus command: esc
  • Tuk ngetik: i, a, dan sebagainya.

Yaa.. minimal dg ini udah bisa ngetik.

Perintah dasar

Ada 2 macem perintah, yaitu yg diawali oleh : (titik dua) dan perintah yg langsung pencet2 keyboard aja. Tuk yang pertama, pada akhirnya jadi kaya ngetik perintah dulu dan harus tekan enter tuk menjalankan perintahnya.

Inilah perintah2 dasar yg wajib diketahui:

  • :w tuk nge-save
  • :w namafile tuk nge-save ke file baru (save as ..)
  • :q tuk keluar dari vim
  • :wq tuk ngesave lalu keluar
  • :q! tuk keluar dari vim dan dokumennya gak di save

Editing

Yang gw maksud dengan editing di sini adalah perintah2 tuk melakukan operasi yang biasanya ada di menu edit. Copy, Paste, Cut, dsb..

  • :d ngapus 1 baris
  • :y copy/yank
  • dd ngapus 1 baris yang sedang dipilih
  • yy ngopy 1 baris yang sedang dipilih
  • p paste

Perintah ngapus (:d atau dd) bisa dipake sebagai operasi Cut juga. Soalnya teks yg dihapus akan dimasukkan ke “clipboard”.

Bagi yang mau ngulang2, hafalkan 2 perintah di bawah ini.

  • u tuk undo
  • ctrl+r tuk redo

Search and replace

Ini bagian yang menurut gw asik :D

Untuk nyari2, silakan berteman dengan tombol / (forward slash). Contoh penggunaannya:

/apa yang dicari

Kalau mau nyari lagi, gak usah nulis lagi apa yang mau dicarinya.. tinggal pencet / lalu enter. Kalau mau nyari ke belakang (mundur), pencet aja ? lalu enter.

Untuk ganti mengganti, silakan berkawan dengan perintah :s (s tuk substitute). Format penulisannya:

:s/yang diganti/pengganti/

Perintah ini akan nyari text yang mau diganti di baris yang lagi aktif lalu melakukan penggantian. Jika ada beberapa teks yang sesuai, cuma yang pertama saja yang diganti. Kalau mau semuanya dalam satu baris, tambahkan modifier g (global)

:s/yang diganti/pengganti/g

Bagi kamu2 yang ngerti regex perintah substitue ini akan sangat menarik :D Bisa pake back reference juga.

:s/www.\+\s//
:s/\(satu\) \(dua\)/\2 \1/

Mindahin cursor

Yang paling sederhana ya tinggal pencet2 tombol arah atas, bawah, kiri, atau kanan. Page up, page down, home, dan end.

Kalau mau loncat2, cobain perintah berikut.

  • :1 ke baris 1
  • :$ ke baris akhir
  • :100 ke baris 100
  • ^ ke awal baris
  • $ ke akhir baris
  • w loncat 1 kata
  • { atau } loncat 1 paragraf

Kombo

Perintah2 di atas cuma (kecuali tuk nyari2) berlaku tuk satu baris aja. Kalau mau beberapa baris, ya tinggal kasih tau mau dijalankan di baris mana aja.

Misalnya..

  • :1,5:d tuk ngapus baris baris 1 sampai baris 5
  • :.,$:y copy dari baris sekarang (.) sampai habis ($)
  • 5p tuk paste 5 kali
  • 5yy copy 5 baris dari baris saat ini
  • :%:d tuk ngapus semua (%) baris
  • :4,10:s/a/b/g ganti semua karakter a dengan b di baris 4 sampai 10 sebanyak satu baris penuh.

Liat polanya kan?

Ada lagi..

  • d5w delete 5 words :D
  • y$ copy sampe akhir baris
  • d^ hapus sampe awal baris

Milih2 secara visual

Kalau ngeliat teknik kombo di atas, rasanya kalo mau ngopy (misalnya) mesti ngitung berapa baris yang mau di copy. Kalo males ngitung, mending teks yang mau diapa2in dipilih secara visual.

Caranya gini..

  • v tuk milih2.. anggap aja kaya shift+arah.
  • Shift+v tuk milih baris
  • Ctrl+v tuk milih kolom

Dan setelah dipilih, silahkan dikombo lagi dengan perintah lainnya.. Misalnya setelah milih baris pakai shift+v, tinggal mencet d tuk ngapus. Atau :s/blah/apalah tuk ngereplace.

Warna-warni

Ini perintah2 yg berhubungan ama warna-warni

  • :syntax on ngaktifin syntax highlighting
  • :set syntax=php tuk ngasih tau si vim kalo dokumen yg dibuka adalah dokumen php
  • :colorscheme evening make colorscheme “evening”. Pencet tab aja tuk milih2 yang ada.
  • :set hls highlight search. ngasih warna tuk search keyword

Formatting

Beberapa perintah yg gw tau

  • :set tw=75 ngatur satu baris maksimal 75 karakter. kalau lagi nulis, tulisan akan langsung dipotong2 sama si vim.
  • :set ts=4 besar 1 tab = 4 karakter (visual aja)

Beberapa yang lain..

  • :set ts=4 sts=4 expandtab kalau mencet tab, langsung diganti jadi spasi sebanyak 4 kali
  • :retab abis ngejalanin perintah di atas lalu ngelanjutin dengan :retab maka setiap tab langsung diganti jadi 4 buah spasi.

Bagi yang suka ngoding

Selain ngewarnain dan ngasih tau format dokumen (biasanya si vim langsung ngenalin) ada beberapa lagi yang bisa nambah kenikmatan dalam ngoding.

  • :set number nomor baris
  • :set ai ai = autoindent = indentasi otomatis

Kalo 2 fasilitas itu mau dimatiin, jalanin aja :set nonumber atau :set noai.

Singkatan

Perintah2 di vim bisa disingkat2, contohnya..

  • :set tw=X sama aja dengan :set textwidth=X
  • :set ts=X sama aja dengan :set tabstop=X
  • :colorscheme evening sama dengan :colo evening
  • :set nonu sama dengan :set nonumber

Kesimpulan

vim itu keren :D dan jangan ngafal perintah yang aneh2 dengan sengaja kalo gak mau capek. learning by doing aja :P

selain itu, vim mendukung scripting. perintah2 yang ada dibisa dibuat script ato juga macro biar gak usah diulang2 lagi. Malah ada games yg dijalankan di atas vim.

IMHO, cukup tau perintah2 yg gw tulis di atas dan menguasai regex, lo udah bisa ngebuat orang laen terbengong2 pas ngeliat lo make vim. hihihi..

Silakan ditambahkan kalau ada lagi..

:x dong xD
ama ini:
assistant

bahkan ada assistant-nya!

~wakaka

NICE, JAFRAN!

redo bapuk amat ya? make kontrol.
kagak keren, kalo undo kan: eskep + u.
lebih intelek gitu.. =))

@eka: kan jadi eskep + kontrol + r

Tutorial regex-nya donk...

~udahPernahBelom?

wah keren......

Niat..

Thx for tutor, make me easy

Sering-sering nulis yang kayak gini ya? soalnya saya pemalas, males nyari, males nulis kalo udah dapet. hehe.

thx

thanks atas materinya

kagol juga waktu pertama kali kenal vim >.<

klo biar vim bisa otomatis berwarna (syntax on) gmn caranya yah?

@luthfi: bikin file ~/.vimrc atau ~/_vimrc kalo di windows. Tulis semua perintah yg mau dijalanin pas vim dinyalain. Tulisnya gak pake titik dua di awal. Contoh:

syntax on
set number

keren brooo :)

Tapi W tetap lebih suka Emacs
M-x animate-birthday-present