Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur...

43
Tutorial Vim @sopier * https://github.com/sopier/vim_docs Contents 1 Pendahuluan 3 1.1 Tentang Tutorial Ini ........................ 3 1.2 Tentang Vim ............................ 3 2 Penyuntingan Dasar 4 3 Navigasi 7 4 Fungsi Penyuntingan 10 4.1 Menyisipkan Teks .......................... 10 4.2 Salin dan Tempel .......................... 11 4.3 Sorot / Visual Mode ........................ 12 4.4 Fungsi Hapus / Potong ....................... 16 4.5 Undo dan Redo ........................... 16 4.6 Word Completion .......................... 16 4.7 Filename Completion ........................ 17 4.8 Replace Karakter .......................... 18 4.9 Menyunting Kata dalam tanda ’ ” ( ............... 19 5 Fungsi Pencarian 19 5.1 Pencarian Case Insensitive ..................... 19 5.2 Pencarian Case Sensitive ...................... 20 5.3 Fungsi Cari dan Ganti ....................... 21 6 Macro 23 6.1 Dasar Macro ............................ 23 6.2 Melakukan Penomoran Secara Otomatis ............. 24 7 Multi-tab 24 8 Registers 25 * http://twitter.com/sopier 1

Transcript of Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur...

Page 1: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Tutorial Vim

@sopier∗

https://github.com/sopier/vim_docs

Contents

1 Pendahuluan 31.1 Tentang Tutorial Ini . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Tentang Vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Penyuntingan Dasar 4

3 Navigasi 7

4 Fungsi Penyuntingan 104.1 Menyisipkan Teks . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2 Salin dan Tempel . . . . . . . . . . . . . . . . . . . . . . . . . . 114.3 Sorot / Visual Mode . . . . . . . . . . . . . . . . . . . . . . . . 124.4 Fungsi Hapus / Potong . . . . . . . . . . . . . . . . . . . . . . . 164.5 Undo dan Redo . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.6 Word Completion . . . . . . . . . . . . . . . . . . . . . . . . . . 164.7 Filename Completion . . . . . . . . . . . . . . . . . . . . . . . . 174.8 Replace Karakter . . . . . . . . . . . . . . . . . . . . . . . . . . 184.9 Menyunting Kata dalam tanda ’ ” ( . . . . . . . . . . . . . . . 19

5 Fungsi Pencarian 195.1 Pencarian Case Insensitive . . . . . . . . . . . . . . . . . . . . . 195.2 Pencarian Case Sensitive . . . . . . . . . . . . . . . . . . . . . . 205.3 Fungsi Cari dan Ganti . . . . . . . . . . . . . . . . . . . . . . . 21

6 Macro 236.1 Dasar Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236.2 Melakukan Penomoran Secara Otomatis . . . . . . . . . . . . . 24

7 Multi-tab 24

8 Registers 25

∗http://twitter.com/sopier

1

Page 2: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

9 Marks 26

10 Buffer 27

11 Code Folding 28

12 File Explorer 31

13 Split Screen 33

14 Session 34

15 Konfigurasi Vim 34

16 Lain-lain 3516.1 Menjalankan Perintah Shell dari Vim . . . . . . . . . . . . . . . 3616.2 Menyisipkan Keluaran dari Shell Command ke dalam Vim . . . 3616.3 Singkatan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3716.4 Membatasi Panjang Baris Maksimum n Karakter . . . . . . . . 3716.5 Menggabung Dua atau Lebih Baris . . . . . . . . . . . . . . . . 3716.6 Lowercase, Uppercase dan Titlecase . . . . . . . . . . . . . . . . 3816.7 Cari dan Hapus Baris Berdasar Pola . . . . . . . . . . . . . . . 3916.8 Membuat Baris Baru Identik . . . . . . . . . . . . . . . . . . . 3916.9 Cara Lain Beralih ke Command Mode . . . . . . . . . . . . . . 4016.10 Bracket Matching . . . . . . . . . . . . . . . . . . . . . . . . . . 4016.11 Mengaktifkan Penomoran Baris . . . . . . . . . . . . . . . . . . 4116.12 Mengulang Perintah Terakhir . . . . . . . . . . . . . . . . . . . 4116.13 Eksekusi Kode Bash dalam Vim . . . . . . . . . . . . . . . . . . 4116.14 Mengetahui Nama Berkas yang sedang disunting . . . . . . . . 4216.15 Resize Splits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2

Page 3: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

1 Pendahuluan

1.1 Tentang Tutorial Ini

Tulisan-tulisan ini sebenarnya bukanlah tutorial lengkap yang mengajarkan kepadaAnda seluk-beluk program Vim, melainkan sekedar catatan pribadi penulis yangcoba dituangkan kedalam sebuah berkas elektronik dengan tujuan untuk doku-mentasi pribadi, syukur-syukur kalau ada pihak lain yang membacanya danmampu mendapatkan manfaat dari tulisan-tulisan ini.

1.2 Tentang Vim

Vim adalah sebuah program penyunting teks yang dapat dikonfigurasi sesuaikebutuhan sehingga proses penyuntingan teks menjadi efisien. Vim merupakanversi vi yang terbarukan dan disebarluaskan pada hampir semua sistem UNIX.1

Vim sering dijuluki sebagai program ’penyunting bagi programmer ’, dan me-mang kenyataannya sangat berguna untuk kebutuhan programming, sehinggabeberapa menyebutnya sebagai sebuah IDE (Integrated Development Environ-ment). Kenyataannya, Vim tidak hanya digunakan para programmer. Vimsesuai digunakan untuk semua kebutuhan yang berkaitan dengan penyuntinganteks, dari menulis email sampai penyuntingan berkas konfigurasi.

Vim bukanlah program pemroses kata (word processor), dan tidak memilikifitur WYSIWYG, Vim adalah sebuah alat penyunting yang harus dipelajaricara penggunaannya. Pertanyaan selanjutnya adalah sesulit apa sih belajar Vimitu? Sejauh pengetahuan penulis mempelajari Vim itu tidak akan ada habisnya,karena tujuan utama kita adalah efisiensi. Sesuatu yang hari ini dirasa sudahefisien belum tentu esok masih tetap efisien. Ini juga berarti proses continousimprovement berjalan terus-menerus. Hal ini juga berkaitan dengan seberapakreatif si pengguna dalam mengoptimalkan Vim.

Vim adalah charityware, dan memiliki lisensi GPL-compatible, sehingga da-pat didistribusikan secara bebas dan gratis, namun jika Anda merasa menda-patkan manfaat dari Vim, para pengembang Vim meminta Anda untuk mem-bantu dengan melakukan donasi dengan membantu anak-anak di Uganda melaluiICCF.2

Perlu dicatat bahwa penggunaan Vim akan optimal dalam kondisi mouselessoperation, artinya penggunaan perangkat mouse hanya akan memperlambatkerja kita, untuk itu mari kita biasakan bekerja tanpa mouse. Ini juga menjadisalah satu alasan kenapa banyak yang bilang belajar Vim itu sulit. Namunjangan khawatir, untuk bisa produktif dan efisien, Anda tidak perlu menguasaisemua konsep Vim, cukup kuasai beberapa konsep dasar, setelah itu konsep laindapat Anda pelajari sesuai kebutuhan.

1http://www.vim.org2http://iccf-holland.org/

3

Page 4: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

2 Penyuntingan Dasar

Sebelum menjalankan Vim, tentunya Anda harus install dulu programnya, jikaAnda menggunakan sistem operasi Ubuntu, Anda dapat meng-install menggu-nakan perintah:3

$ sudo apt-get install vim

Setelah Vim ter-install, hal penting dan mendasar sebenarnya adalah mem-buat berkas .vimrc pada direktori home Anda. Berkas ini berguna untuk kon-figurasi program Vim, namun berhubung materi tersebut masuk pada tingkatanmenengah, mari kita jalankan saja dulu Vim dengan konfigurasi default :

$ vim contoh.txt

Anda sebenarnya juga dapat meng-install gVim, versi graphical dari Vimdengan fitur menu pada bagian atas window sehingga dapat diakses denganperangkat mouse. Namun sekali lagi, tutorial ini mengasumsikan kita tidakmenggunakan bantuan perangkat mouse sama sekali, sehingga aplikasi Vim punsudah cukup.

Setelah menjalankan perintah di atas, Anda akan mendapatkan tampilankurang lebih sebagai berikut:

Mulai dari sini Anda mungkin mulai bingung, bagaimana cara kita mengetik?Perlu diketahui bahwa Vim mengenal 3 mode yang harus kita mengerti dulu,yakni Insert Mode, Normal Mode dan Insert Mode. Secara default, Vim berada

3Penulis menggunakan sistem operasi Ubuntu 12.04 dan aplikasi xterm sebagai terminalemulator

4

Page 5: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

pada Command Mode, dan Anda diharapkan selalu kembali ke mode ini setiapAnda selesai melakukan penyuntingan teks.

Mari kita pahami dulu arti dari masing-masing mode tersebut:

• Normal Mode adalah mode di mana Anda dapat menjalankan perintah(command). Mode ini merupakan mode ketika Anda menjalankan Vimpertama kali.

• Insert Mode adalah mode di mana Anda memasukkan teks.

• Visual Mode adalah mode di mana Anda dapat menyorot secara visualsekumpulan teks, sehingga Andapat melakukan operasi penyuntingan padateks tersebut.

Untuk memulai proses pengetikan, tekan tombol i, dan kalau Anda per-hatikan bagian bawah layar Vim Anda akan berubah menjadi -- INSERT --

Sekarang Anda dapat mulai mengetik, misal Hello World!

Setiap selesai mengetik, Anda disarankan untuk kembali ke command mode,hal ini dapat dilakukan dengan menekan tombol Esc4. Perhatikan sekarangtanda -- INSERT MODE -- sekali lagi menghilang, dan ini berarti Anda beradapada command mode.

4Selain Esc, Anda dapat juga menggunakan kombinasi Ctrl+c atau Ctrl+[ atau Andadapat mengkonfigurasi pilihan tombol sesuai selera Anda dengan membuat konfigurasi berkas.vimrc yang akan dibahas pada bagian lebih lanjut

5

Page 6: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Sekarang simpan berkas ini dengan mengetik :w, yang apabila berhasil,tanda [+] di sebelah kanan nama berkas menghilang.

Masih dalam command mode, sekarang tekan :q untuk keluar (exit) dariVim.

6

Page 7: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Mari kita rangkum, perintah-perintah yang sudah Anda lakukan di atas:

i => beralih ke insert mode

Esc => beralih ke command mode

:w => menyimpan berkas

:q => keluar dari Vim

Selamat! Anda baru saja membuat berkas contoh.txt dan mengisikan kali-mat Hello World! ke dalam berkas tersebut! Memang, pada awalnya terasarumit, namun ketika Anda sudah terbiasa dan mulai menguasai beberapa kom-binasi tombol perintah lebih lanjut, lambat laun Anda akan merasakan apa yangdimaksud dengan “The power of Vim“.

3 Navigasi

Seperti disebutkan di atas bahwa penggunaan Vim yang efisien adalah denganmeniadakan penggunaan perangkat mouse dan mengoptimalkan penggunaanperangkat keyboard. Hal ini juga berarti bahwa Anda diharapkan mengetahuibagaimana mengetik dengan keyboard secara efisien.

Salah satu teori yang sering dipakai adalah Home Row Technique, yaknimenempatkan keempat jari kiri pada tombol A, S, D, F dan keempat jari kananpada tombol J, K, L, ;. Dengan teknik ini, Anda dapat menjangkau tombollain, baik yang berada di atas maupun di bawah tombol-tombol di atas secaralebih baik.

Hebatnya Vim juga menggunakan teori tersebut secara intensif, daripadamenggunakan tombol panah yang biasanya terletak pada sebelah kanan keyboarddan sulit dijangkau, Vim menggunakan tombol H, J, K, L untuk navigasi ke kiri,ke bawah, ke atas, dan ke kanan.

7

Page 8: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

h => Bergerak ke kiri satu karakter

j => Bergerak ke bawah satu baris

k => Bergerak ke atas satu baris

l => Bergerak ke kanan satu karakter

Memang pada awalnya perlu waktu untuk penyesuaian, namun ketika sudahmahir, lihatlah bagaimana kecepatan mengetik Anda dapat meningkat secarasignifikan karena Anda tidak perlu ‘menggeser‘ tangan kanan Anda untuk meng-jangkau tombol panah.

Anda dapat mengkombinasikan tombol navigasi di atas dengan angka untukmelakukan navigasi secara lebih cepat, misal:

10h => ke kiri 10 karakter

15j => ke bawah 15 baris

5k => ke atas 5 baris

4l => ke kanan 4 karakter

dan beberapa kombinasi tombol lainnya:

Ctrl+F => menuju ke bawah satu layar

Ctrl+B => menuju ke atas satu layar

Ctrl+D => menuju ke bawah setengah layar

Ctrl+U => menuju ke atas setengah layar

M => menuju ke bagian tengah dari layar

H => menuju ke bagian paling atas dari layar

L => menuju ke bagian paling bawah dari layar

Bila sudah mahir, Anda dapat mencoba melakukan navigasi berdasar kata(word), misal:

w => menuju ke kata berikutnya

W => menuju ke kata berikutnya (berdasar spasi)

b => menuju ke kata sebelumnya

b => menuju ke kata sebelumnya (berdasar spasi)

e => menuju ke akhir kata

E => menuju ke akhir kata (berdasar spasi)

ge => menuju ke akhir kata sebelumnya

gE => menuju ke akhir kata sebelumnya (berdasar spasi)

8w => menuju ke kata kedelapan dari posisi kursor sekarang

5b => menuju ke kiri 5 kata dari posisi kata sekarang

3e => menuju ke akhir karakter dari kata ketiga

Pertanyaannya apa beda w dengan W (atau b dengan B)?Navigasi dengan w masih memperhitungkan tanda punctuation seperti ,.:/!

dll, sedangkan W hanya memperhitungkan spasi. Ambil contoh kalimat berikut:

http://www.infotiket.com menyediakan layanan info tiket

pesawat, konser, kereta api dan hotel

Ketik perintah berikut:

^ => berpindah ke awal baris

w => berpindah ke :

W => kursor bergerak ke huruf m pada kata ’menyediakan’

8

Page 9: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Anda dapat juga melakukan navigasi menggunakan tombol f untuk pencar-ian ke kanan dan F untuk pencarian ke kiri. Sebagai contoh kalimat berikut:

Saya sedang belajar Vim

Kursor Anda sekarang berada pada awal kalimat, dan Anda ingin menuju kekata Vim, Anda dapat melakukannya dengan kombinasi tombol 4w atau Andadapat juga dengan menggunakan perintah:

fV

Tombol di atas berarti cari ke arah kanan karakter V. Sekarang kursor Andadengan cepat berpindah ke huruf V. Perlu diingat tombol pencarian ini bersifatcase sensitif, sehingga pada contoh di atas karena yang kita cari adalah hurufV kapital, maka kita harus menekan tombol pada keyboard f diikuti denganShift+v.

Untuk pencarian ke kiri, gunakan huruf F (f kapital), diikuti dengan hurufyang ingin Anda cari. Anda dapat mengulangi pencarian berikutnya denganmenekan tombol ;. Misal pada kalimat berikut:

Tutorial Belajar Vim Versi 0.0.8 (Vladimir)

Untuk menuju ke kata Vladimir, gunakan kombinasi tombol berikut:

fV;;

dan kursor Anda pun dengan cepat berpindah ke huruf V pada kata Vladimir.Jika Anda ingin kembali ke huruf V sebelumnya, tekan tombol koma (,).

^fV;;,,

Perintah di atas mencari huruf V pada kata Vladimir, kemudian kembali kehuruf V pada kata Vim.

Perlu diingat bahwa tombol f ini hanya dapat digunakan untuk mencarikarakter pada satu baris saja, dan sifatnya lebih kepada navigasi daripada fungsipencarian. Untuk fungsi pencarian kata pada dokumen, akan dibahas padabagian lain.

Selain fitur f, Vim juga memiliki fitur tombol t yang berfungsi seperti f,bedanya t akan bergerak ke 1 karakter sebelum karakter yang dicari. Untuklebih jelasnya perhatikan contoh berikut:

Anda memiliki kalimat:

Vim merupakan program penyunting teks yang hebat.

Anda ingin mencari 1 karakter sebelum huruf a pada kata hebat (yaknihuruf b). Berikut kombinasi tombol yang dapat Anda lakukan.

^

ta;;;;

9

Page 10: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Selanjutnya navigasi untuk menuju ke awal atau akhir baris, dapat digu-nakan tombol:

0 => menuju ke awal baris

^ => menuju ke karakter pertama dalam sebuah baris

$ => menuju ke akhir baris

Menuju ke baris tertentu secara cepat dapat menggunakan perintah:5

:n => menuju ke baris ke-n

:100 => menuju ke baris ke-100

Anda juga dapat melakukan perintah di atas dengan:

10G => menuju ke baris 10

100G => menuju ke baris 100

Menuju ke awal dokumen atau akhir dokumen:

gg => menuju ke awal dokumen (baris pertama)

G => menuju ke akhir dokumen (baris terakhir)

Selain kombinasi tombol di atas, kita juga dapat menggerakkan layar tanpamerubah posisi kursor, sehingga posisi kursor tepat berada di tengah layar,dengan menekan tombol:

zz => reposisi layar sehingga kursor tepat di tengah layar

4 Fungsi Penyuntingan

4.1 Menyisipkan Teks

Berikut beberapa kombinasi tombol perintah untuk melakukan penyuntinganteks secara cepat pada Vim:

i => merubah ke insert mode pada posisi kursor

I => menuju ke kursor kosong pada awal baris dan merubah ke insert mode

a => bergerak ke kanan 1 karakter dan merubah ke insert mode

A => menuju ke kursor kosong pada akhir baris dan merubah ke insert mode

o => membuat baris baru di bawah posisi kursor sekarang dan merubah ke insert mode

O => membuat baris baru di atas posisi kursor sekarang

dan merubah ke insert mode

s => hapus huruf pada posisi kursor dan beralih ke insert mode

S => hapus baris pada posisi kursor dan beralih ke insert mode

Selain kombinasi tombol di atas, Anda juga dapat menggunakan kombinasiperintah ct diikuti dengan karakter ’sampai dengan’ yang Anda tuju, untuklebih jelasnya perhatikan contoh berikut:

Semisal Anda memiliki kata getUrl yang ingin Anda menjadi findUrl, makaAnda dapat menggunakan perintah berikut (pastikan posisi kursor berada padahuruf g pada kata getUrl):

ctU => change til U

find => ubah menjadi find

Esc => beralih ke normal mode kembali

5Navigasi menggunakan nomor baris lebih saya sukai daripada harus menekan tombol M,H, L karena lebih akurat dan praktis, tapi itu semua tergantung selera Anda..

10

Page 11: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

4.2 Salin dan Tempel

Kedua fungsi ini saya yakin banyak dipakai ketika kita sedang bekerja den-gan teks, dan Anda mungkin terbiasa menggunakan perangkat mouse untukmelakukan kedua fungsi tersebut.

Sekali lagi, mouse is your enemy!, jadi mari kita lakukan fungsi tersebutdengan keyboard way. Anda dapat menyalin sebuah baris dengan mudahnyamenggunakan perintah yy atau Y, kemudian menuju ke baris yang Anda in-ginkan, kemudian tekan p untuk mentempelkan pada baris di bawah kursor,atau tekan P untuk menempelkan pada baris di atas kursor.

Anda dapat juga menempelkan baris tersebut sebanyak yang Anda inginkan,misal Anda ingin mentempelkan sebanyak 5 kali pada posisi di bawah kursorAnda sekarang, maka tekan tombol 5p, maka otomatis baris yang Anda menyalinakan tersalin sebanyak 5 kali.

Contoh:

Vim is so powerful

Anda ingin menyalin kalimat di atas sebanyak 9 kali, maka perintah di Vimadalah:

Y

9p

Hasil:

Vim is so powerful

Vim is so powerful

Vim is so powerful

Vim is so powerful

Vim is so powerful

Vim is so powerful

Vim is so powerful

Vim is so powerful

Vim is so powerful

Vim is so powerful

Atau Anda ingin menyalin kata so powerful saja?Tempatkan kursor pada huruf s pada kata so, kemudian ketik perintah

berikut:

^ => ke awal baris

fs; => cari s yang kedua

y2w => salin 2 kata

o => buat baris baru

Esc => beralih ke normal (command) mode

p => put (paste) in here

Hasilnya:

so powerful

11

Page 12: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Bagaimana? Sudah mulai merasakan the power of Vim??Mari kita rangkum perintah yang ada dalam bagian ini:

Y => salin baris

yy => salin baris

yw => salin satu kata di sebelah kanan kursor

yb => salin satu kata di sebelah kiri kursor

y2w => salin dua kata di sebelah kanan kursor

p => put hasil salinan

4.3 Sorot / Visual Mode

Anda mungkin terbiasa melakukan fungsi sorot ini menggunakan perangkatmouse, dengan melakukan klik kiri, kemudian drag sampai daerah yang Andainginkan. Vim juga memungkinkan melakukan itu, meski tentunya proses sorotmenggunakan keyboard.

Vim memiliki 3 bentuk visual yang berbeda:

1. per-character visual mode (v)

2. line visual mode (V)

3. block visual mode (Ctrl+v)

Contoh per-character visual modeAnda memiliki kalimat berikut:

Vim is great!

Anda dapat menyorot dan mengganti kata great menjadi superb denganmelakukan perintah berikut:

^ => menuju ke awal baris

2w => menuju ke kata ke 3

v => aktifkan fungsi sorot

e => menuju ke akhir huruf pada kata

c => menuju ke change mode

superb => ganti ke superb

Contoh line visual mode:Asumsikan kita mempunyai baris teks sebagai berikut:

1 import os

2 from bottle import route, run

3

4 @route(’/’)

5 def homepage():

6 return ’Hello World!’

7

8 run(host=’localhost’, port=8080)

Katakanlah Anda ingin menyorot baris 4 sampai 6, dengan Vim Anda dapatmelakukannya dengan

12

Page 13: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

:4 => menuju ke baris ke 4

V => sorot baris tersebut

2j => sorot 2 baris dibawahnya

Jika Anda perhatikan ada perubahan warna pada daerah yang sedang Andasorot, selanjutnya terserah Anda, apakah ingin disalin (menggunakan tombol y)atau dihapus (potong) (menggunakan tombol d).

Contoh block visual mode:Dengan visual block mode, Anda dapat melakukan berbagai langkah ma-

nipulasi teks dengan lebih cepat. Perhatikan contoh berikut (dikombinasikandengan perintah I (insert):

Ini contoh1.txt

Ini contoh2.txt

Ini contoh3.txt

Ini contoh4.txt

Ini contoh5.txt

Anda ingin menambahkan kata berkas pada setiap baris:

^ => menuju ke awal baris

w => bergerak satu word

Ctrl+v => mengaktifkan blok sorot

4j => ke bawah 4 baris

I => berubah ke mode insert

berkas => ketik kata berkas

space => memberi jarak 1 spasi dengan kata berikutnya

Esc => kembali ke command mode

Dan hasilnya:

Ini berkas contoh1.txt

Ini berkas contoh2.txt

Ini berkas contoh3.txt

Ini berkas contoh4.txt

Ini berkas contoh5.txt

Amazing ....Contoh lainMisal Anda memiliki baris kalimat seperti berikut:

Ini baris yang panjang

Pendek

Ini baris yang panjang

Anda ingin menambahkan kata sangat antara kata yang dengan kata panjang.

^ => menuju ke awal baris

3w => menuju ke kata ke-3

Ctrl+v => aktifkan sorot blok

2j => menuju 2 baris kebawah

I => berubah ke insert mode

sangat => ketik sangat

space => memberi spasi antara kata

Esc => kembali ke command mode

13

Page 14: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Dan hasilnya:

Ini baris yang sangat panjang

Pendek

Ini baris yang sangat panjang

Kita dapat lihat, dengan perintah I, baris kedua tidak berubah, karenamemiliki panjang baris yang tidak sama.

Contoh berikutnya dikombinasikan dengan perintah c (change):

Ini baris yang sangat panjang

Pendek

Ini baris yang sangat panjang

Mari kita ubah kata sangat menjadi --SANGAT--

^ => menuju ke awal baris

3w => menuju ke kata ke-3

Ctrl+v => aktifkan blok sorot

2j => menuju ke 2 baris dibawahnya

e => menuju ke akhir kata sangat

c => change

--SANGAT-- => ketik kata pengganti

Esc => kembali ke command mode

Dan hasilnya:

Ini baris yang --SANGAT-- panjang

Pendek

Ini baris yang --SANGAT-- panjang

Contoh berikutnya merupakan kombinasi antara visual block dengan perin-tah A (append):

Ini baris yang panjang

Pendek

Ini baris yang panjang

Anda ingin menambahkan kata sangat di antara kata yang dengan katapanjang.

^ => menuju ke awal baris

3w => menuju ke 3 kata ke kanan

h => ke kiri 1 karakter

Ctrl+v => aktifkan blok sorot

2j => menuju 2 baris dibawahnya

A => append mode

sangat => ketik sangat

space => beri jarak antar kata

Esc => kembali ke command mode

Dan hasilnya, kata sangat ditambahkan pada setiap baris! Ini adalah perbe-daan perintah A dengan perintah lainnya pada mode blok sorot.

14

Page 15: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Ini baris yang sangat panjang

Pendek sangat

Ini baris yang sangat panjang

Contoh berikut ini mengkombinasikan blok sorot dengan perintah $ dan A

untuk menambahkan kata di setiap baris yang ada.

Ini baris yang panjang

Pendek

Ini baris yang panjang

Tambahkan kata sekali di setiap baris

$ => menuju ke akhir baris

Ctrl+v => aktifkan blok sorot

2j => sorot 2 baris ke bawah

A => append mode

Space => beri jarak antar kata

sekali => ketik sekali

Esc => kembali ke command mode

Dan hasilnya:

Ini baris yang panjang sekali

Pendek sekali

Ini baris yang panjang sekali

Contoh berikutnya merupakan kombinasi antara blok sorot dengan perintahr (replace).

Ini baris yang panjang

Pendek

Ini baris yang panjang

Mari kita ubah kata panjang menjadi kata xxxxxx

^ => menuju ke awal baris

3w => ke kanan 3 kata

Ctrl+v => aktifkan blok sorot

2j => sorot 2 baris ke bawah

e => ke akhir kata

r => replace mode

x => ganti ke huruf x

Dan hasilnya:

Ini baris yang xxxxxxx

Pendek

Ini baris yang xxxxxxx

Contoh berikutnya menggeser bagian dari baris agar sejajar dengan baris dibawah (atas) nya.

Nama : Sopier

Alamat : Jogja

Pekerjaan : Wiraswasta

Pendidikan : Sarjana

15

Page 16: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Anda ingin menggeser 2 baris paling atas, supaya tanda : sejajar denganbaris dibawahnya:

^ => menuju ke awal baris

f: => menuju ke tanda :

Ctrl+v => aktifkan blok sorot

j => sorot 1 baris dibawahnya

> => geser satu tab ke kanan

Dan hasilnya:

Nama : Sopier

Alamat : Jogja

Pekerjaan : Wiraswasta

Pendidikan : Sarjana

Anda juga dapat menggeser ke kiri dengan mengganti tanda > menjadi <.Tips:Anda dapat melakukan sorot ulang teks yang sudah Anda sorot sebelumnya

dengan menggunakan perintah gv.

4.4 Fungsi Hapus / Potong

Vim memiliki fungsi hapus yang sangat handal dan efisien, perhatikan kombinasitombol berikut:

x => menghapus 1 karakter pada posisi kursor

X => menghapus 1 karakter di depan posisi kursor

d => menghapus daerah yang sedang disorot

dd => menghapus satu baris

dw => menghapus satu kata ke depan

db => menghapus satu kata ke belakang

D => menghapus dari posisi kursor sampai ke akhir baris

4.5 Undo dan Redo

Berikut ini tombol perintah untuk melakukan undo dan redo pada Vim:

u => Undo

U => Undo semua perubahan pada baris

Ctrl+R => Redo

:e! => Membatalkan semua perubahan pada berkas

4.6 Word Completion

Sebagian orang mungkin menyebutnya auto completion, apa pun itu, cara ker-janya adalah dengan mengetikkan beberapa karakter kemudian Vim akan men-cari dalam dokumen, kata yang cocok dengan sekumpulan karakter tersebut.

Berikut contohnya:

Yang menjadikan momok bagi sebagian orang mungkin adalah

kenyataan bahwa di Vim kita dituntut untuk sesedikit

mungkin menggunakan mouse.

16

Page 17: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Semisal Anda ingin mengetik ulang kata mouse, daripada harus mengetiksecara utuh Anda cukup mengetik mo diikuti dengan tombol Ctrl+p, nanti Vimakan menunjukkan kata apa saja yang diawali dengan mo.

Anda dapat juga menggunakan kombinasi tombol Ctrl+n untuk pencarianke bawah (bottom).

Ctrl+p => pencarian ke atas (up)

Ctrl+n => pencarian ke bawah (bottom)

4.7 Filename Completion

Sebagai seorang developer, Anda mungkin pernah dihadapkan pada sebuah kodedi mana Anda harus menulis filepath ke dalam kode tersebut. Vim memberikankemudahan untuk itu, tanpa kita harus mengingat-ingat di mana berkas terse-but berada.

Perhatikan contoh kode berikut:

<html>

<head>

<link rel="stylesheet" href="somefilepath.css"/>

</head>

<body>

</body>

</html>

Dengan Vim, Anda dapat menyunting somefilepath.css dengan cara berikut:Pastikan Anda berada pada baris yang akan disunting

^

f";;

ci"

17

Page 18: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

[opsional] Ketik direktori di mana Anda mau mencari (misal /home/)

Ctrl+x Ctrl+f

Tekan Ctrl+f atau Ctrl+n untuk bergerak maju (forward)

Tekan Ctrl+p untuk bergerak mundur (backward)

Jika sudah, tekan Ctrl+x lagi

Berikut ini tampilan ketika kita sedang menggunakan fitur filename comple-tion dalam Vim.

4.8 Replace Karakter

Biasanya, ketika kita ingin mengganti sebuah karakter, kita menghapus karakterlama, masuk ke insert mode, kemudian memasukkan karakter yang baru. Kitadapat mempersingkat langkah tersebut dengan menggunakan tombol r diikutidengan karakter pengganti.

Contoh pada kata Vim, kita ingin mengganti V kapital menjadi v kecil,caranya tempatkan kursor pada V, tekan r, kemudian v, dan karakter punberubah.

Anda dapat juga menggunakan tombol R untuk mengganti beberapa hurufsekaligus, perhatikan contoh berikut:

Mr. Joni sedang belajar Vim

Ganti xxxx menjadi Joni dengan mengetikkan perintah berikut:

^ => menuju ke awal baris

W => menuju ke huruf x pertama

R => beralih ke replace mode

Joni => ketik Joni untuk mengganti xxxx

Another little improvement on speed typing :)

18

Page 19: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

4.9 Menyunting Kata dalam tanda ’ ” (

Anda mungkin pernah berhadapan dengan teks seperti berikut ini:

<title>Judul</title>

Anda ingin mengganti kata Judul?

dit => menghapus kata di dalam html tags

i => beralih ke insert mode

Atau Anda memiliki kalimat berbentuk kurang lebih seperti berikut?

<a href="http://www.infotiket.com">Info Tiket</a>

Anda ingin menyunting kata yang berada dalam tanda "? Tempatkan kursorpada baris tersebut dan lakukan langkah berikut:

di" => hapus kata di dalam tanda "

ci" => hapus kata di dalam tanda " dan beralih ke insert mode

Untuk penyuntingan kalimat / kata di dalam tanda lainnya, cukup gantitanda " dengan tanda yang Anda inginkan, misal (di(, di[, di{, dst).

Selain menggunakan dit, ada juga perintah:

cit => change inside tags

yit => copy inside tags

vitp => visual inside tags then put

Silakan coba, Anda pasti menyukainya...

5 Fungsi Pencarian

Saya yakin fungsi ini banyak dipakai ketika kita sedang menyunting berkas.Bagaimana menggunakan fitur pencarian ini pada Vim?

5.1 Pencarian Case Insensitive

Vim pada dasarnya dapat melakukan pencarian pada satu berkas, banyak berkasatau pada daerah tertentu yang kita inginkan.

Perintah dasarnya adalah menggunakan tombol / diikuti dengan kata yangingin kita cari, kemudian secara otomatis Vim akan mencari dan meng-highlightkata tersebut (jika ada).

Contoh:

/Vim => mencari kata Vim forward

Enter => enter

n => next match

N => previous match

Anda juga dapat menggunakan tombol ? untuk pencarian kebelakang (back-ward), berikut contohnya:

19

Page 20: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

?Vim => mencari kata Vim backward

Enter => enter

n => previous match

N => next match

Anda juga dapat melakukan pencarian menggunakan tombol *, caranya tem-patkan kursor Anda pada kata yang ingin Anda cari (misal Vim), kemudian tekantombol *, maka secara otomatis Vim akan melakukan pencarian kata yang cocokdengan kata pada posisi kursor.

Tombol # memiliki fungsi yang sama dengan *, hanya saja modus pencarianuntuk # adalah ke belakang (backward). Anda juga dapat menggunakan g* ataug# untuk mencari kata yang non-exact.

Sebagai contoh:

kata

katak

Anda ingin mencari semua kata yang mengandung kata kata di dalamnya?Lakukan perintah berikut:

Letakkan kursor pada kata kata, kemudian:

g*

Maka semua kata yang mengandung kata kata akan di highlight oleh Vim.

5.2 Pencarian Case Sensitive

Secara default, Vim menggunakan modus pencarian dengan pengaturan caseinsensitive, ini artinya kata Vim dengan vim dipandang sebagai satu kata yangsama. Pertanyaan selanjutnya bagaimana cara kita mencari dengan modus casesensitive dengan Vim?

Terlebih dahulu, Anda dapat mengaktifkan modus smartcase pada Vimdengan mengetikkan perintah berikut:6

:set smartcase

Kemudian lakukan perintah berikut:

/vim\C

atau

/\Cvim

Perintah di atas berarti mencari kata vim, bukannya Vim.

6Saya juga menambahkan baris tersebut pada berkas .vimrc pada direktori home

20

Page 21: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

5.3 Fungsi Cari dan Ganti

Apabila Anda ingin melakukan fungsi cari dan ganti pada satu berkas utuh,Anda dapat menjalankan perintah berikut:

:%s/kata_asal/kata_ganti/g

Atau jika Anda ingin membatasi pencarian hanya pada baris tertentu:

:420, 421s/Anda/Kami/g

Perhatikan tanda spasi di belakang koma.Atau Anda hanya ingin cari dan ganti pada satu baris saja?

:s/Anda/Kami/g

Atau mungkin Anda lebih suka sistem sorot daerah tertentu kemudian barumelakukan cari dan ganti pada daerah yang Anda sorot?

V

5j

:s/Anda/Kami/g

Perintah di atas berarti, sorot baris pada posisi kursor sampai 5 baris dibawah posisi kursor, kemudian cari kata Anda dan ganti dengan kata Kami.

Tanda % berarti melakukan pencarian pada seluruh baris di dokumen, jikaAnda ingin melakukan fungsi cari dan ganti pada satu baris saja, maka hilangkantanda %.

Tanda g berarti melakukan fungsi ini pada semua keterulangan (occurences)pada baris. Jika tidak menggunakan tanda g, maka Vim hanya akan menggantikata pertama yang ditemukan pada baris.

Contoh:

aku dan kau bagaikan langit dan bumi

Kemudian ketikkan perintah berikut

V => sorot baris

:s/dan/dengan/ => ganti kata dan yang pertama saja

Dan hasilnya:

aku dengan kau bagaikan langit dan bumi

Bandingkan jika kita menggunakan tanda g.

V => sorot baris

:s/dan/dengan/g => ganti semua kata dan pada baris

Dan hasilnya:

aku dengan kau bagaikan langit dengan bumi

21

Page 22: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Anda juga dapat menentukan apakah fungsi ini bersifat case sensitive ataucase insensitive, secara default, Vim menggunakan sifat case insensitive, jikaAnda ingin melakukan secara case sensitive, Anda dapat menambahkan penandaI. Perhatikan perintah berikut:

:%s/anda/kami/gI

Perintah di atas hanya akan merubah kata anda, tapi tidak dengan kataAnda.

Dengan menggunakan penanda c, maka Anda akan dihadapkan pada kon-firmasi interaktif, apakah Anda akan melakukan penggantian pada kata yangsudah ditemukan.

:%s/anda/kami/gcI

Perintah di atas berarti, cari di seluruh dokumen, di seluruh baris, kataanda, dan ganti menjadi kami, dengan sebelumnya menanyakan konfirmasi padaAnda, dengan format kurang lebih seperti ini:

replace with kami (y/n/a/q/l/^E/^Y)?

Selanjutnya Anda dapat menekan y untuk yes, n untuk no, dan seterusnya...Berikut ini bentuk perintah untuk mencari kata secara tepat (exact match)

pada Vim. Mari kita gunakan contoh berikut:

andai

seandainya

andaikan

Jika Anda menggunakan perintah

:%s/andai/jika/g

Maka hasilnya:

jika

sejikanya

jikakan

Dan bisa dibilang, hasilnya kacau. Kita dapat menggunakan pencarian den-gan modus exact match untuk mengatasi hal ini.

Pencarian modus exact match menggunakan bentuk sebagai berikut

:%s/\<kata_yang_dicari\>/kata_ganti/g

Perhatikan kita menambahkan tanda \< dan \> pada awal dan akhir katayang ingin kita cari. Sehingga perintah di atas kita ubah menjadi sebagaiberikut:

:%s/\<andai\>/jika/g

Dan hasilnya:

22

Page 23: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

jika

seandainya

andaikan

Anda juga dapat melakukan fungsi cari dan ganti dikombinasikan denganpencarian pola dengan regular expression, namun materi tersebut tidak akandibahas dalam tutorial ini, jika berminat silakan di-explore sendiri.

6 Macro

6.1 Dasar Macro

Fitur ini adalah fitur yang sangat-sangat saya sukai, karena sesuai dengan prin-sip DRY (Dont Repeat Yourself. Ambil contoh teks html berikut ini:

<ul>

satu

dua

tiga

empat

lima

enam

tujuh

delapan

sembilan

sepuluh

</ul>

Semisal Anda ingin menambahkan tags <li> dari satu sampai sepuluh,daripada bercapek menambahkan satu-persatu, Anda dapat membuat macro

kemudian menjalankan macro tersebut sebanyak yang Anda inginkan.Tempatkan kursor pada kata satu, kemudian jalankan kombinasi perintah

berikut:

qa

I

<li>

Esc

A

</li>

Esc

j

q

9@a

Hasil:

<ul>

<li>satu</li>

<li>dua</li>

<li>tiga</li>

<li>empat</li>

<li>lima</li>

23

Page 24: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

<li>enam</li>

<li>tujuh</li>

<li>delapan</li>

<li>sembilan</li>

<li>sepuluh</li>

</ul>

6.2 Melakukan Penomoran Secara Otomatis

Ambil contoh berikut, saya ingin membuat 10 daftar kata python dengan nomorberurutan dari 1 sampai 10. Dengan bermodal satu baris berikut, saya dapatmembuat 10 daftar kata python lengkap dengan nomor yang berurutan.

1. python

Berikut perintahnya di Vim:

qa

Y

p

Ctrl+A

q

8@a

Dan hasilnya adalah sebagai berikut:

1. python

2. python

3. python

4. python

5. python

6. python

7. python

8. python

9. python

10. python

So so so efficient, right?

7 Multi-tab

Seringkali Anda harus bekerja dengan banyak berkas sekaligus, di dunia IDE

Anda mungkin sudah tidak asing lagi dengan fitur multi-tab, di mana Anda da-pat membuka banyak berkas sekaligus dan berpindah antara satu berkas denganberkas lain semudah melakukan klik pada berkas yang diinginkan.

Vim juga mengenal sistem tabbing seperti itu, berikut beberapa perintahketika Anda bekerja dengan banyak tab:

:tabnew => membuat tab baru

:tabnext => berpindah ke tab berikutnya

:tabprev => berpindah ke tab sebelumnya

:gt => go to next tab

:gT => go to prev tab

:tabfind => mencari tab berdasar nama berkas

:tabclose => menutup tab

24

Page 25: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Ketika Anda mengaktifkan fitur tab, maka pada layar Vim bagian atas akanmuncul tab baru selayaknya tab yang Anda lihat pada IDE lainnya, cuman disiniwarnanya hitam dan putih :)

Untuk lebih lengkapnya, Anda dapat mengetikkan perintah :tab diikutidengan tombol Tab untuk melihat perintah-perintah apa saja terkait denganfitur ini.

8 Registers

Untuk meningkatkan efisiensi dalam pekerjaan penyuntingan teks, Vim memilikifitur registers, di mana Anda dapat menyimpan apa yang sudah Anda salin atauhapus ke dalam sebuah key tertentu.

Ketika sudah tersimpan, Anda dapat menambahkan apa yang sudah Andasimpan atau menyalinnya ke tempat yang Anda inginkan.

Bentuk syntax perintah registers pada Vim adalah sebagai berikut:

"kyy

Perintah di atas berarti salin sebuah baris (y) kemudian simpan baris terse-but ke dalam tombol k. Jika Anda ingin menampilkan isi dari register tersebut,Anda dapat melakukan perintah berikut:

"kp

Perintah tersebut berarti put atau taruh isi dari register k pada posisi kursorsekarang.

Anda dapat menambahkan isi sebuah register dengan menggunakan hurufkapital dari register yang Anda buat sebelumnya.

"Kyy

Perintah di atas berarti salin baris pada posisi kursor, kemudian tambahkan(append) baris tersebut ke dalam register k.

Perhatikan contoh berikut:

Vim adalah program penyunting teks yang handal.

Tekan "kyy untuk menyalin baris di atas.Kemudian Anda memiliki sebuah baris baru lagi

Namun, proses belajar Vim memang tidak mudah

Berikutnya tekan "Kyy untuk menambahkan baris ini ke dalam register k.Kemudian put isi dari register k ke dalam sebuah baris, dan hasilnya:

Vim adalah program penyunting teks yang handal.

Namun, proses belajar Vim memang tidak mudah

Selain menyimpan salinan, Anda dapat juga menyimpan hapusan ke dalamregister, caranya tentu dengan mengganti perintah salin dengan perintah hapus.Perhatikan contoh perintah berikut:

"kdd => hapus dan simpan sebuah baris ke dalam register k

"Kdd => tambahkan hapusan berikutnya ke dalam register k

"kp => taruh isi dari register k ke posisi kursor sekarang

25

Page 26: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

9 Marks

Sesuai dengan artinya, Marks pada Vim berfungsi sebagai penanda posisi, se-hingga Anda dapat dengan mudah menuju kembali ke posisi tersebut.

Marks pada Vim disimbolkan dengan huruf alfabet dari a–z untuk tiapberkas, dan huruf kapital A–Z untuk penanda global. Jika Anda sedang menyunt-ing 10 berkas, tiap berkas dapat memiliki penanda posisi a, namun hanya memi-liki 1 penanda posisi A.

Perintah untuk mengaktifkan penanda pada posisi kursor adalah denganmenekan tombol m diikuti dengan huruf sebagai penanda.

Misal:

ma => beri tanda pada posisi kursor sekarang dengan huruf a sebagai penanda

Untuk kembali pada posisi tersebut, tekan tanda petik tunggal (’) atautanda backtick (‘).

’a => menuju ke awal baris di mana penanda berada

‘a => menuju tepat ke posisi kursor di mana penanda berada

Selanjutnya Anda pun dapat menyalin, menghapus atau pun mengubah teksdengan penanda ini sebagai tujuan akhir. Misalnya:

Vim merupakan aplikasi penyunting teks yang hebat.

Jalankan perintah berikut:

^ => menuju ke awal baris

fp;; => menuju ke huruf p pada kata penyunting

ma => beri tanda a pada posisi ini

^ => kembali ke awal baris

d‘a => hapus dari posisi kursor sampai penanda a

Beberapa perintah lain dari fungsi marks pada Vim:

:marks => daftar semua penanda yang aktif

:marks aB => daftar penanda a, B

:delmarks a => hapus penanda a

:delmarks a-d => hapus penanda a,b,c,d

:delmarks! => hapus semua penanda huruf kecil

Fungsi navigasi dengan penanda:

]’ => menuju ke baris penanda berikutnya

[’ => menuju ke baris penanda sebelumnya

]‘ => menuju ke posisi kursor penanda berikutnya

[‘ => menuju ke posisi kursor penanda sebelumnya

Yang perlu diingat, gunakan ’ (tanda petik tunggal) untuk menuju ke awalbaris di mana penanda berada, atau gunakan ‘ (backticks) untuk menuju keposisi kursor di mana penanda berada.7

7tanda backtick berada di sebelah kiri angka 1 pada keyboard

26

Page 27: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

10 Buffer

Satu lagi fitur yang handal dari Vim untuk bekerja dengan banyak berkas adalahbuffer. Saya sendiri lebih menyukai ini dibandingkan dengan sistem tabbing,karena layar kita tetap bersih, seolah-olah bekerja dengan satu berkas, padahalsebenarnya banyak berkas yang sedang kita sunting.

Berikut beberapa perintah terkait dengan buffer :

:badd => menambahkan berkas / buffer baru

:ls => melihat berkas-berkas yang sedang kita sunting

:bd => menghapus buffer (bukan menghapus berkas)

:b <angka> => berpindah ke buffer <angka> sesuai dengan urutan pada perintah ls

:b <nama berkas> => berpindah ke buffer berdasar nama

:bn => berpindah ke next buffer

:bp => berpindah ke prev buffer

Berikut ini contoh perintah :ls:

:ls

1 %a + "vim_docs.tex" line 593

2 #h "~/.vimrc" line 1

3 h "[No Name]" line 0

Begini cara baca keluaran dari perintah :ls di atas:

% => buffer aktif yang sedang dilihat

# => alternate buffer, tekan Ctrl+^ untuk berpindah ke alternate buffer

h => hidden buffer (tidak sedang dilihat)

+ => ada perubahan dan belum disimpan

- => inactive buffer

line xxx => menunjukkan di baris berapa kursor Anda berada

Terlihat di sana saya sedang menyunting 3 berkas, di mana berkas yang aktifsaya sunting saat ini adalah berkas nomor 1 (ditandai dengan %).

Kalau saya ingin pindah ke berkas .vimrc, saya tinggal perintahkan :b 2

atau :b vimrc atau :bn.Selain menghapus satu per satu, Anda juga dapat menghapus banyak buffer

sekaligus dengan menggunakan range, contoh:

:1,5bd => menghapus buffer 1 sampai 5

Jika Anda ingin menghapus sebuah buffer tanpa melakukan penyimpanan,Anda dapat menambahkan tanda perintah ! seperti pada contoh berikut:

:bd!

Anda dapat juga melakukan pencarian ke dalam banyak buffer sekaligus,atau mungkin cari dan ganti ke banyak buffer sekaligus. Selanjutnya, silakandi-explore sendiri kemampuan dari buffer ini.

27

Page 28: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

11 Code Folding

Bagi Anda yang menulis ribuan baris teks atau pun kode, fitur ini pasti san-gat berguna buat Anda untuk membuat tulisan atau kode Anda “lebih enak“dilihat.

Berikut ini tampilan kode sebelum dan sesudah menggunakan folding diVim:

Vim memiliki 6 cara dalam melakukan folding :

1. manual

2. indent

3. syntax

28

Page 29: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

4. marker

5. expr

6. diff

Untuk sementara ini mari kita pelajari 3 dari 6 cara di atas, yakni caramanual, marker dan indent.

Folding manual dapat Anda lakukan dengan terlebih dahulu menyorot barisyang ingin Anda lipat, kemudian lipat (buka lipatan) dengan menekan:

zf => melipat baris

za => membuka lipatan

Contoh:

Jadual hari ini:

1. Rapiin kamar kerja

2. Cuci motor

3. Mandi

4. Sarapan

5. Coding

6. Makan siang

7. Ngopi2 sama temen

Posisikan kursor pada jadual pertama, kemudian tekan:

V => sorot baris pertama

6j => sorot 6 baris dibawahnya

zf => lipat baris

Atau cara lebih singkat:

zf6j

Selain dengan teknik sorot, Anda pun dapat menggunakan teknik marks

yang dapat Anda pelajari di bagian lain tutorial ini.Menggunakan contoh di atas, kita dapat memanfaatkan fitur marks untuk

melakukan pelipatan:Posisikan kursor pada jadual nomer 7, kemudian tekan:

ma => beri tanda dan simpan ke register a

6k => menuju ke jadual nomer 1

zf’a => lipat baris sampai mark a

Berikutnya pelipatan dengan metode marker, sebelumnya ketik perintahberikut ini:

:set foldmethod=marker

Selanjutnya Anda dapat memberikan tanda khusus pada bagian-bagian yangingin Anda lipat. Perhatikan kode LaTeX berikut:

29

Page 30: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

\section{Pendahuluan}

%{{{

Tulisan-tulisan ini sebenarnya bukanlah tutorial lengkap

yang mengajarkan kepada Anda seluk-beluk program Vim,

melainkan sekedar catatan pribadi penulis yang coba

dituangkan kedalam sebuah berkas elektronik dengan tujuan

untuk dokumentasi pribadi, syukur-syukur kalau ada pihak

lain yang membacanya dan mampu mendapatkan manfaat dari

tulisan-tulisan ini.

%}}}

Kemudian tambahkan penanda (sebagai contoh %{{{ %}}}):

\section{Pendahuluan}

%{{{

Tulisan-tulisan ini sebenarnya bukanlah tutorial lengkap

yang mengajarkan kepada Anda seluk-beluk program Vim,

melainkan sekedar catatan pribadi penulis yang coba

dituangkan kedalam sebuah berkas elektronik dengan tujuan

untuk dokumentasi pribadi, syukur-syukur kalau ada pihak

lain yang membacanya dan mampu mendapatkan manfaat dari

tulisan-tulisan ini.

%}}}

Secara otomatis, Vim akan melihat tanda tersebut, letakkan kursor di dalampenanda tersebut, kemudian tekan:

za => melipat kode

za => lakukan lagi untuk membuka lipatan

Atau Anda pun dapat melipat semua bagian yang sudah Anda beri penandadengan mengetikkan:

zM => melipat semua bagian yang sudah diberi marker

dan untuk membukanya:

zR => membuka semua lipatan yang sudah diberi marker

Anda dapat menentukan sendiri marker yang akan dipakai, dengan mem-berikan perintah:

:set foldmarker=/*,*/

Perintah di atas, berarti marker pembuka ditandai dengan tanda /* danmarker penutup dengan tanda */.

Metode berikutnya adalah dengan metode indent. Teknik ini berguna ketikaAnda memiliki kode yang memiliki indentasi terstruktur (misal bahasa Python).

Sebelumnya ketik perintah berikut:

:set foldmethod=indent

Perhatikan kode Python berikut:

30

Page 31: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

class C(object):

nama = ’sopier’

hobi = ’plesir’

def __init__(self):

pass

Anda dapat melipat kode, dengan menempatkan kursor pada kode tersebut,kemudian tekan

za => melipat kode

za => lakukan lagi untuk membuka lipatan

Atau Anda dapat melipat semua baris yang memiliki indentasi dengan menekan:

zM => melipat semua baris yang memiliki indent

zR => membuka semua lipatan

Anda dapat mempelajari lebih dalam lagi dengan menekan perintah

:help folding

12 File Explorer

Salah satu fungsi penting sebuah program penyunting teks adalah kemampuanjelajah berkas, jika Anda terbiasa dengan program berbasis GUI, Anda tinggalcari menu Open dan mulai mencari berkas yang Anda inginkan. Bagaimanadengan Vim?

Secara default, Vim memiliki kemampuan tersebut, berikut ini kombinasitombol perintah yang Anda perlukan untuk mengakses kemampuan jejalahberkas pada Vim:

31

Page 32: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

:edit . => membuka file explorer

:e. => membuka file explorer

:sp. => membuka file explorer dengan horizontal split

:vs. => membuka file explorer dengan vertical split

Ketika Anda berada pada fitur jelajah berkas, Anda dapat menggunakankombinasi tombol berikut untuk membuat berkas baru, direktori baru, meng-ganti nama, dan menghapus berkas:

% => membuat berkas baru

d => membuat direktori baru

R => mengubah nama berkas / direktori pada kursor

D => menghapus berkas / direktori pada kursor

Karena fitur file explorer tidak lain adalah buffer, maka Anda dapat denganmudah menutupnya dengan perintah :bd atau melakukan pencarian menggu-nakan / (forward), atau ? (backward). Dan tentunya juga tombol hjkl untukmelakukan navigasi ke kiri, bawah, atas dan kanan.

32

Page 33: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

13 Split Screen

Dalam bekerja dengan banyak berkas, Vim juga memiliki kemampuan untukmemecah layar menjadi beberapa bagian, baik itu horisontal maupun vertikal.

Perhatikan gambar berikut:

33

Page 34: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Terlihat saya sedang menyunting 3 berkas dan ketiga-tiganya terbuka, fi-tur ini sangat membantu ketika kita bekerja dengan banyak berkas sekaligus.Bagaimana caranya:

:sp => split horisontal

:vsp => split vertical

Ctrl+w+w => berpindah antar window

Ctrl+w+r => berpindah antar window clockwise

Ctrl+w+R => berpindah antar window counter-clockwise

Ctrl+w+l => berpindah ke window sebelah kanan

Ctrl+w+h => berpindah ke window sebelah kiri

Ctrl+w+j => berpindah ke window sebelah bawah

Ctrl+w+k => berpindah ke window sebelah atas

Ctrl+w+- => memperkecil ukuran window (mode horizontal)

Ctrl+w++ => memperbesar ukuran window (mode horizontal)

:q => menutup window

Anda dapat juga menggunakan perintah :sp atau :vsp diikuti dengan namaberkas yang ingin Anda sunting dalam window baru.

14 Session

Fungsi fitur ini adalah untuk menyimpan berkas-berkas yang Anda kerjakan se-belumnya, daripada membuka ulang satu-persatu berkas tersebut, Anda tinggalmenyimpannya ke dalam session untuk kemudian dibuka kembali, dan otomatisVim akan membuka berkas-berkas tersebut dalam buffer -nya.

Berikut cara kita mengelola session dalam Vim:

Menyimpan session

:mksession work1.vim

Memanggil session dari dalam Vim

:source work1.vim

Memanggil session dari terminal

$ vim -S work1.vim

15 Konfigurasi Vim

Anda dapat mengatur program Vim dengan membuat berkas .vimrc pada di-rektori home Anda.

$ vim ~/.vimrc

Pengaturan ini sendiri mungkin berbeda antara pengguna satu dengan peng-guna lainnya, tergantung selera dan kebiasaan, berikut konfigurasi yang sayapakai:

set nocompatible

filetype on

34

Page 35: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

filetype plugin on

filetype indent on

syntax on

set autowrite

set ruler

set hidden

set autochdir

colorscheme delek

set tabstop=8

set shiftwidth=4

set softtabstop=4

set expandtab

set showcmd

set number

set smartindent

set autoindent

set laststatus=2

set linespace=3

set wrap

set linebreak

set nolist

set incsearch

set hlsearch

set ignorecase

set smartcase

set foldenable

set mousehide

"set splitbelow

nmap <space> :

set wildmode=list:longest

imap jj <esc>

map <f2> :w\|!python %

Konfigurasi ini secara garis besar adalah standar, kecuali saya merubahtombol : menjadi Space, dan tombol Esc menjadi jj, semua ini dilakukanbiar posisi tangan tidak bergeser ke kanan dan ke kiri.

Silakan dicoba, atau Anda mungkin memiliki preferensi sendiri, Vim mem-berikan kebebasan untuk itu..

16 Lain-lain

Berikut ini kumpulan tips dan trik yang sering saya pakai dan siapa tahubermanfaat juga buat Anda...

35

Page 36: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

16.1 Menjalankan Perintah Shell dari Vim

Ini termasuk salah satu fitur yang sangat saya sukai, Anda tidak perlu bolak-balik keluar dari Vim untuk sekedar menjalankan perintah Shell.

Sebagai contoh, dokumen ini ditulis menggunakan LaTeX, dan tentunya sayasering melakukan compiling dari format .tex ke .pdf untuk melihat apakahada kesalahan penulisan atau tidak. Proses compiling itu sendiri menggunakanshell command :

$ pdflatex vimdocs.tex

Daripada harus keluar masuk Vim, saya dapat mengeksekusi perintah terse-but dari dalam Vim menggunakan perintah berikut:

:!pdflatex vimdocs.tex

Dan jika ingin mengulangi perintah terakhir, asya dapat dengan mudahmengetik berikut di Vim:

:!!

Sangat efisien bukan?

16.2 Menyisipkan Keluaran dari Shell Command ke dalamVim

Semisal Anda ingin menyisipkan tanggal dan jam saat ini ke dalam dokumenVim yang sedang Anda tulis, daripada harus capek-capek mengetik ulang, kitadapat menggunakan fungsi read berikut:

:r !date

Atau ingin menyisipkan kalender menggunakan perintah shell cal?

:r !cal

Maka, secara otomatis keluaran dari perintah date akan disisipkan padabaris di mana kursor Anda berada.

December 2012

Su Mo Tu We Th Fr Sa

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30 31

36

Page 37: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

16.3 Singkatan

Anda memiliki kata yang sangat sering Anda ulang-ulang dan ingin membuatversi singkatannya supaya lebih efisien dalam proses pengetikan? Vim memilikifitur tersebut dengan perintah berikut:

:ab yg yang

Maka, secara otomatis setiap kali Anda mengetik yg diikuti dengan spasi

atau ,, maka kata tersebut berubah menjadi yang.Secara lengkap, berikut perintah-perintah terkait dengan fitur abbreviations

ini.

:ab dg dengan => dg diganti dengan

:ab => daftar semua singkatan

:una dg => hapus dg dari daftar singkatan

:abc => hapus semua daftar singkatan

16.4 Membatasi Panjang Baris Maksimum n Karakter

Baris yang terlalu panjang kadang merepotkan, karena kita harus melakukanscrolling ke kanan untuk dapat membaca baris bagian kanan ujung. Untukmengatasi hal tersebut, saya sendiri lebih suka mengatur Vim dengan panjangmaksimum adalah 80 karakter:

:set textwidth=80

Konfigurasi ini otomatis memerintahkan Vim untuk memotong baris setiapkali kursor berada pada posisi ke-80.

Biar tidak berulang-ulang mengetikkan perintah tersebut, kita dapat mema-sukkan konfigurasi tersebut kedalam berkas .vimrc:

set textwidth=80

Selain cara otomatis tersebut, kita juga bisa memotong secara manual den-gan mengetikkan perintah:

gql

16.5 Menggabung Dua atau Lebih Baris

Lawan dari memotong baris yang panjang, adakalanya kita ingin menggabungkanbeberapa baris menjadi 1 baris saja. Hal ini dapat kita lakukan dengan menem-patkan kursor di baris paling atas dari beberapa baris yang ingin Anda gabung,kemudian ketikkan:

J => jika hanya dua baris

JJ => 3 baris

JJJ => 4 baris

37

Page 38: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Ulangi menekan J sampai semua baris tergabung menjadi satu. Perintahini secara otomatis akan menambahkan spasi diantara baris yang digabungkan.Jika Anda ingin menggabung baris tanpa spasi, gunakan perintah gJ.

Contoh:

Ini baris pertama

Ini baris kedua

Ini baris ketiga

Ini baris keempat

Tekan perintah berikut:

^ => menuju ke awal baris

J => gabung garis 1 dan 2

J => gabung lagi

gJ => gabung lagi, kali ini tanpa spasi

Sehingga hasilnya sebagai berikut:

Ini baris pertama Ini baris kedua Ini baris ketigaIni baris keempat

16.6 Lowercase, Uppercase dan Titlecase

Bagaimana cara mengubah dari lowercase menjadi uppercase dalam Vim?Perhatikan contoh kalimat berikut:

vim merupakan program penyunting teks yang hebat.

Anda dapat merubah kalimat di atas menjadi uppercase dengan menekantombol berikut:

V => sorot baris

U => ubah menjadi uppercase, atau

u => ubah menjadi lowercase

Berikut hasil ketika sudah dirubah menjadi uppercase

VIM MERUPAKAN PROGRAM PENYUNTING TEKS YANG HEBAT.

Untuk mengubah kata atau baris menjadi titlecase, kita dapat menggunakanfitur search n replace digabungkan dengan regular expression:

V => sorot baris

:s/\w*/\u&/g => ubah setiap awal kata menjadi huruf kapital

Dan hasilnya:

Vim Merupakan Program Penyunting Teks Yang Hebat.

Anda juga dapat melakukannya dengan cara semi-manual, berikut caranya:

^ => menuju ke awal baris

vU => sorot huruf pada awal kata dan ubah menjadi uppercase

w. => menuju ke awal kata berikutnya dan ulangi langkah sebelumnya

w. => menuju ke awal kata berikutnya dan ulangi langkah sebelumnya

ulangi lagi sebanyak yang Anda inginkan

Atau Anda juga dapat memanfaatkan plugin bernama titlecase yang da-pat Anda unduh di http://www.vim.org

Selamat mencoba ...

38

Page 39: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

16.7 Cari dan Hapus Baris Berdasar Pola

Saatnya kita mencoba mempelajari fitur regular expression pada Vim. Padabahasan kali ini kita akan mencari dan menghapus baris jika dalam tersebutterdapat pola (pattern) yang cocok dengan yang kita tentukan.

Perhatikan contoh berikut ini:

this is a line

these are also lines

those are line

that is another line

Kita dapat menghapus baris yang memiliki kata lines dengan mengetikkanperintah berikut:

:g/lines/d

atau menghapus kata yang mengandung is

:g/is/d

atau kata yang diawali dengan th

:g/^th/d

atau kata yang diakhiri dengan ine

:g/ine$/d

Anda dapat juga menentukan pada baris berapa sampai berapa fungsi iniditerapkan, contoh berikut akan menghapus baris yang memiliki kata lines

pada baris 1296 sampai 1299:

:1296,1299g/lines/d

16.8 Membuat Baris Baru Identik

Berikut ini adalah perintah untuk membuat banyak baris yang identik:

5aVim is great! => buat 5 baris baru dengan isi Vim is great!

Tekan enter => buat baris baru

Tekan Esc => kembali ke command mode

Dan hasilnya:

Vim is great!

Vim is great!

Vim is great!

Vim is great!

Vim is great!

39

Page 40: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

16.9 Cara Lain Beralih ke Command Mode

Di bagian atas sudah disebutkan bahwa untuk beralih dari insert mode ke com-mand mode, kita dapat menekan tombol Esc pada keyboard. Kenyataannya,bagi sebagian orang (termasuk saya), tombol Esc terlalu jauh letaknya darihome row.

Untuk itu sebagian pengguna Vim ada yang melakukan remapping tombolEsc ke tombol lain, misalnya saya remap tombol Esc ke tombol jj. Caranyaadalah dengan menambahkan baris berikut pada berkas .vimrc Anda:

imap jj <esc>

Selain itu, sebenarnya Anda dapat juga menggunakan tombol Ctrl+[ atauCtrl+c untuk berpindah dari insert mode ke command mode.

Silakan pilih yang Anda suka, selama itu untuk meningkatkan produktivitasAnda dalam pekerjaan penyuntingan teks.

16.10 Bracket Matching

Tanda kurung biasanya selalu ditulis dalam bentuk berpasangan, ada ( makaada ), begitu juga dengan tanda {} dan [].

Kalau Anda menulis kode program, biasanya pasangan dari tanda tersebutberada jauh di bawah atau kanan, Vim dalam hal ini memberikan kemudahanuntuk mencari pasangan dari tanda-tanda tersebut. Dengan menekan tanda %,maka secara otomatis kursor akan bergerak ke pasangan tanda tersebut.

Lihat kode berikut:

require(’casper’).create({

loadImages: false,

verbose: true,

logLevel: debug

});

Posisikan kursor Anda pada kurung buka ”(” setelah kata create, kemudiantekan %, apa yang terjadi? Vim akan mencocokkan di mana letak kurung tutupyang merupakan pasangan dari kurung buka tadi, tekan % sekali lagi, dan Andaberpindah ke tempat kursor Anda sebelumnya.

Apa jadinya jika tidak ada pasangan kurung yang tepat? Vim tidak akanmemberitahukan pesan kesalahan apa-apa, namun karena posisi kursor tidakberpindah, maka dapat disimpulkan bahwa kurung tersebut belum ditutup.

require(’casper’).create({

loadImages: false,

verbose: true,

logLevel: debug

};

40

Page 41: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

16.11 Mengaktifkan Penomoran Baris

Secara default, Vim tidak menampilkan penomoran baris, namun Anda dapatdengan mudah menampilkannya dengan mengetikkan:

:set number => nomor baris aktif

:set nonumber => nomor baris tidak aktif

16.12 Mengulang Perintah Terakhir

Tahukah Anda kalau Anda dapat mengulang perintah Anda yang terakhir kalimenggunakan tanda titik (dot)?

Misal Anda memiliki teks sebagai berikut:

tahukah anda? vim sudah berumur 20 tahun lebih?

Anda ingin mengganti kalimat tersebut menjadi titlecase, bagaimana caranya?

^ => menuju ke awal baris yang berisi huruf

v => sorot huruf pertama pada kata pertama

U => ubah menjadi huruf kapital

w => bergerak ke kata berikutnya

. => ulangi perintah vU

Dan hasilnya...

Tahukah Anda? Vim Sudah Berumur 20 Tahun Lebih?

Anda dapat juga mengulang perintah terakhir yang Anda berikan ke Vimdengan mengetikkan:

@:

Sebagai contoh, Anda ingin membuka tab baru pada Vim dengan meng-gunakan perintah :tabnew. Sebentar kemudian Anda butuh untuk membukatab baru satu lagi, daripada harus mengetik :tabnew lagi, Anda dapat mengu-lang perintah tersebut dengan cara @:, dan perintah yang paling terakhir pun,dijalankan ulang oleh Vim.

:tabnew => membuka tab baru

@: => buka tab baru lagi

:tabclose => tutup tab

@: => ulangi perintah tutup tab

16.13 Eksekusi Kode Bash dalam Vim

Selain dapat menjalankan kode Python, Vim juga dapat menjalankan perintahBash, sebagai contoh Anda memiliki baris kode seperti berikut ini:

echo "hai from Bash"

date

echo "bye..."

41

Page 42: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Kemudian jalankan perintah berikut:

V2j => sorot baris pada kursor dan 2 baris dibawahnya

:!bash => eksekusi kode

dan hasilnya:

hai from Bash

Fri Dec 21 06:30:10 WIT 2012

bye...

16.14 Mengetahui Nama Berkas yang sedang disunting

Daripada harus mengetik ulang nama berkas, Vim memberikan kemudahan den-gan menggunakan register %, yang mana fungsinya adalah sebagai shortcutuntuk berkas yang sedang disunting.

Jika Anda ingin menampilkan nama berkas yang sedang disunting, padainsert mode, ketik:

Ctrl+r

%

Atau, pada command mode:

"%p

dan hasilnya:

vim_docs.tex

Dan jika Anda ingin menampilkan nama berkas secara utuh dengan path-nya, pada command mode, ketik perintah berikut:

:put =expand(’%:p’)

Dan hasilnya:

/home/banteng/Dropbox/dokumentasi/vim/vim_docs.tex

16.15 Resize Splits

Sebagaimana layaknya sebuah window pada aplikasi GUI yang dapat diubahukurannya dengan melakukan click-and-drag, Vim juga memiliki fitur tersebutketika kita bekerja dengan split screen.

Perintah untuk mengubah ukuran layar horisontal berbeda dengan perintahuntuk layar vertikal. Berikut ini perintah untuk mengubah ukuran layar padamode split di Vim:

Mode horizontal split

42

Page 43: Tutorial Vim - kholidfu.github.io · 4 Fungsi Penyuntingan10 ... 4.5 Undo dan Redo ... dengan tur menu pada bagian atas window sehingga dapat diakses ...

Ctrl+w + => Increase

Ctrl+w - => Decrease

Ctrl+w _ => Maximize

Ctrl+w = => Equal size

10Ctrl+w + => Increase 10 lines

10Ctrl+w - => Decrease 10 lines

Mode vertical split

Ctrl+w > => Increase

Ctrl+w < => Decrease

Ctrl+w | => Maximize

Ctrl+w = => Equal size

10Ctrl+w > => Increase 10 chars

10Ctrl+w < => Decrease 10 chars

43