Banyak yang bilang kalau vim (dan emacs) adalah text editor yang wajib dipelajari para pengguna linux. Minimal tau cara membuka file, edit beberapa text dan keluar dari vim.
Dulu saya gak terlalu tertarik memakai vim, bahkan sering dibuat jengkel karena untuk memindah kursor saja harus belajar, harus ada insert dan command mode. Tapi setelah membaca beberapa artikel tentang vim, saya mulai tertarik untuk mempelajari lebih jauh, semakin menarik. Apalagi setelah menambahkan plugin dan beberapa baris konfigurasi di vimrc. Buat yang baru mengenal vim, coba ketik "vimtutor" di terminal, tutorial praktek vim yang sangat keren.
Setelah itu silahkan baca kitab vim yang direkomendasikan para veteran vim judulnya "Learning the Vi and Vim Editor" terbitan O'Reilly Media,Inc, karangan Arnold Robbins, Elbert Hannah dan Linda Lamb.
Berikut 120+ perintah vim yang saya rangkum dari berbagai sumber dan sudah saya terjemahkan ke bahasa nasional kita, bahasa indonesia. Gak perlu dihafalin, karena semakin kita bersahabat dengan vim, jari tangan kita akan ingat dengan sendirinya.
+------------------------------------------------------------------+ | Ada beberapa perintah yang sebenarnya merupakan multi-command, | | misalnya: | | -------------------- | | ggguG = lowercase | | -------------------- | | gg : memindah kursor ke baris pertama | | gu : mengganti dengan huruf kecil | | g : memindah kursor ke baris terakhir | | -------------------- | | ggVG = seleksi semua | | -------------------- | | gg: memindah kursor ke baris pertama | | v : mode visual | | g : memindah kursor ke baris terakhir | | -------------------------------------------------------------- | | Trik : lakukan mapping pada vimrc untuk multi-command yang | | sering digunakan,misalnya: | | | | mapggVG | | | | (Control + a) akan menyeleksi semua text dari baris pertama | | sampai terakhir,seperti text editor pada umumnya. | +------------------------------------------------------------------+ =============================================================================== MEMBUKA FILE, MENYIMPAN DAN KELUAR =============================================================================== :e namafile : membuka file bernama "namafile",apabila tidak ditemukan maka akan di buat file baru dengan nama "namafile". :browse e : membuka file dengan tampilan grafis :Sex : membagi window dan membuka file explorer :e : memuat ulang file (reload) :new filebaru : mengedit "filebaru" di window baru :w namafile : menyimpan file dengan nama "namafile" :w : menyimpan file tanpa harus keluar dari ViM. :qa : keluar tanpa menyimpan semua perubahan jika buffer lebih dari satu :q! : keluar tanpa menyimpan perubahan. :q : keluar dari ViM. ZZ : menyimpan isi dari buffer kedalam file, kemudian keluar. =============================================================================== KURSOR =============================================================================== h : geser kiri 1 karakter j : turun 1 baris k : naik 1 baris l atau Spasi : geser kanan 1 karakter w : geser kanan 1 kata (kursor pada huruf pertama) W : geser kanan 1 kata dan menghiraukan tanda baca (kursor pada huruf pertama) e : geser kanan 1 kata (kursor pada huruf terakhir) E : geser kanan 1 kata dan menghiraukan tanda baca (kursor pada huruf terakhir) b : geser kiri 1 kata (kursor pada huruf pertama) B : geser kiri 1 kata dan menghiraukan tanda baca (kursor pada huruf pertama) 0 (angka nol) : pindah ke awal baris $ : pindah ke akhir baris ( : pindah ke awal kalimat ) : pindah ke akhir kalimat { : pindah ke awal paragraf } : pindah ke akhir paragraf - : pindah ke karakter pertama pada baris sebelumnya + : pindah ke karakter pertama pada baris selanjutnya gg : pindah ke baris pertama G : pindah ke baris terakhir H : layar atas M : layar tengah L : layar bawah nG : pindah ke baris "n" ENTER : turun 1 baris dan menempatkan kursor pada karakter pertama Ctrl+F : turun 1 halaman Ctrl+B : naik 1 halaman +-------------------------------------------------------------------+ | Pada beberapa perintah bisa dikombinasikan dengan angka, misal: | | 17h,8j,19k,45l,17w,8E,1945G | +-------------------------------------------------------------------+ =============================================================================== MENAMBAH TEXT / MASUK KE MENU INSERT =============================================================================== i : sebelum kursor I : awal baris a : setelah kursor A : akhir baris o : membuat baris baru diatas posisi kursor O : membuat baris baru dibawah posisi kursor =============================================================================== EDIT TEXT =============================================================================== s : meng-edit satu (dan/atau menambahkan beberapa karakter) dimulai dari posisi kursor S : hapus kemudian meng-edit satu baris dimana kursor berada r : meng-edit satu karakter pada posisi kursor (dari command mode) R : meng-edit karakter, dimulai dari posisi kursor (meng-edit karakter yang dilewati kursor sampai menekan ESC) cb,cB,ce,cE, : meng-edit text dikombinasikan dengan tombol motion (lihat cw,cW,c(,c), KURSOR) c{,c},c0,c$ +-------------------------------------------------------------------+ | Pada beberapa perintah bisa dikombinasikan dengan angka, misal: | | 17c),c8G | +-------------------------------------------------------------------+ =============================================================================== HAPUS TEXT =============================================================================== x : menghapus karakter pada posisi kursor dd : menghapus baris C : menghapus sampai akhir baris dan masuk menu insert D : menghapus sampai akhir baris db,dB,de,dE, : mengganti text dikombinasikan dengan tombol motion (lihat dw,dW,d(,d), KURSOR) d{,d},d0,d$ +-------------------------------------------------------------------+ | Pada beberapa perintah bisa dikombinasikan dengan angka, misal: | | 17x,8dd,1945dw | +-------------------------------------------------------------------+ =============================================================================== COPY - PASTE =============================================================================== yy : meng-copy satu baris nyy : meng-copy "n" baris Y : meng-copy sampai akhir baris p : paste setelah atau di bawah baris posisi kursor P : paste tepat pada posisi kursor atau diatas baris =============================================================================== MENCARI TEXT =============================================================================== /asdf : mencari "asdf" dari atas kebawah ?asdf : mencari "asdf" dari bawah ke atas * : mencari kata dibawah posisi kursor n : mengulang pencarian terakhir /jo[ha]n : mencari john atau joan /\ : mencari kata "indomie" atau "supermie" /^\n\{3} : mencari 3 baris yang kosong y/ : highlight/block kata yang dicari =============================================================================== MENGGANTI TEXT =============================================================================== :s/lama/baru/g : mennganti kata "lama" dengan kata "baru" dalam satu baris :%s/lama/baru/g : mengganti semua kata "lama" dengan kata "baru" :%s/lama/baru/gc : mengganti semua kata "lama" dengan kata "baru" dengan meminta konfirmasi terlebih dahulu :%s/lama/baru/gi : mengganti semua kata "lama" dengan kata "baru" tanpa menghiraukan huruf besar/kecil :19,45s/lama/baru/g : mengganti semua kata "lama" dengan kata "baru", dimulai dari baris 19 sampai dengan baris 45 :bufdo %s/lama/baru/g : mengganti kata "lama" dengan kata "baru" pada semua buffer yang terbuka =============================================================================== CHANGE CASE =============================================================================== VU : mengubah baris menjadi huruf besar semua Vu : mengubah baris menjadi huruf kecil semua vEU : mengubah kata menjadi huruf besar vEu : mengubah kata menjadi huruf kecil gggUG : mengubah semua text menjadi huruf besar ggguG : mengubah semua text menjadi huruf kecil vE~ : membalik kata dari huruf besar ke huruf kecil atau sebaliknya g~~ : membalik baris dari huruf besar ke huruf kecil atau sebaliknya :%s/\<./\u&/g : mengubah huruf pertama dari setiap kata dengan huruf besar :%s/\<./\l&/g : mengubah huruf pertama dari setiap kata dengan huruf kecil :%s/.*/\u& : mengubah huruf pertama dari setiap baris dengan huruf besar :%s/.*/\l& : mengubah huruf pertama dari setiap baris dengan huruf kecil :19,45s/.*/\l& : mengubah huruf pertama dari baris 19 sampai baris 45 dengan huruf kecil :%s/[.!?]\_s\+\a/\U&\E/g : mengubah huruf pertama dari setiap kalimat dengan huruf besar =============================================================================== TAB =============================================================================== :tabnew : membuka tab baru :tabfirst : pindah ke tab pertama :tablast : pindah ke tab terakhir :tabdo : eksekusi perintah pada semua tab :tab ball : menempatkan semua file yang terbuka menjadi satu tab/satu file : pindah ke tab selanjutnya : pindah ke tab sebelumnya =============================================================================== MEMBAGI WINDOW =============================================================================== :split namafile : membuka file bernama "namafile" pada window terpisah :vsplit : membagi window secara vertikal :hide : menutup window :sview namafile : seperti :split (read-only) k : meletakkan kursor pada window atas =============================================================================== MENANDAI =============================================================================== mn : menandai posisi kursor dengan "n" 'n : memindah posisi kursor ke tanda n =============================================================================== AUTO COMPLETE =============================================================================== : melengkapi kata dengan yang pernah ditulis sebelumnya : melengkapi baris dengan yang pernah ditulis sebelumnya =============================================================================== INDENT =============================================================================== >> : indent : indent << : un-indent (insert mode) : un-indent (insert mode) :17,45> : indent baris 17 sampai 45 =============================================================================== INTERAKSI DENGAN UNIX =============================================================================== :shell : membuka terminal : kembali ke Vim :!pwd : eksekusi pwd dari Vim !!pwd : eksekusi pwd dan menyisipkan output di file =============================================================================== LAIN-LAIN =============================================================================== . : mengulang perintah sebelumnya % : pindah kursor ke sesama tanda kurung yang berpasangan (),{},[] :his c : menampilkan daftar perintah sebelumnya :his s : menampilkan daftar pencarian kata sebelumnya :history : menampilkan daftar perintah yang dilakukan sebelumnya :ju : menampilkan daftar pemindahan kursor sebelumnya q: : membuka window yang berisi daftar perintah sebelumnya q/ : membuka window yang berisi daftar pencarian kata sebelumnya g : menampilkan informasi file (jumlah baris,kolom,kata,ukuran file) :19,45TOhtml : konversi baris 19 sampai 45 dalam bentuk html :runtime! syntax/2html.vim : konversi file dalam bentuk html
No comments:
Post a Comment