Ngoding di Terminal dengan Vim Bagian 2: Dasar-dasar Navigasi

Bagus Aji Santoso 20 Februari 2018

Ngoding di Terminal dengan Vim Bagian 2: Dasar-dasar Navigasi

Saat menulis kode, tentu kita akan sering berpindah dari satu baris ke baris yang lain, dari satu kata ke kata yang lain, dari tag pembuka ke tag penutup, dan sebagainya. Di editor lain pada umumnya kita tinggal menggunakan tombol panah atau menggunakan mouse. Di editor vim, meskipun bisa menggunakan tanda panah tapi penggunaannya tidak disarankan.

Image

Sumber gambar: https://www.typing.academy/10-finger-typing

Vim didesain agar penggunanya dapat fokus menulis dan menjaga jari-jari tetap diposisi siap untuk menulis, artinya dari jari telunjuk sampai jari kelingking siap di posisi masing-masin (perhatikan gambar di atas). Melakukan navigasi menggunakan tombol panah atau mouse akan memindahkan jari dari posisi awal (untuk menekan tombol panah atau untuk menggerakkan mouse) sehingga akan memakan waktu. Oleh karena itu vim memanfaatkan posisi awal jari-jari di tangan kanan untuk melakukan navigasi.

Kiri - Atas - Kanan - Bawah

Pembaca bisa menggunakan teks apapun sebagai file latihan atau bisa mengunduh dokumen novel Alice in Wonderland yang sudah menjadi public domain disini. Unduh dan buka file tersebut dengan vim.

Image

Navigasi standar kiri - atas - kanan - bawah bisa dilakukan menggunakan tombol-tombol h - j - k - l.

  • Tombol h untuk geser ke kiri
  • Tombol j untuk geser ke bawah
  • Tombol k untuk geser ke atas, dan
  • Tombol l untuk geser ke kanan.
Image

Sumber gambar: Vim for humans

Jika pembaca perhatikan, ke empat tombol tersebut persis ada di baris posisi jari tangan kanan sehingga kita tidak perlu menggeser posisi tangan hanya untuk melakukan navigasi kiri - atas - kanan - bawah.

Mari kita coba melakukan navigasi ini dengan menekan tombol j 10x, k 5x, l 10x, dan h 5x. Jika pembaca berhasil mencapai huruf t di kata this pada baris ke enam dan karakter ke enam berarti pembaca sudah berhasil melakukan navigasi yang pertama kali dengan vim.

Image

Navigasi menggunakan tombol hjkl hanya bisa dilakukan di normal mode. Apabila sedang aktif di dalam insert mode, kembali dulu ke normal mode dengan tombol <Esc>.

Cari Tahu Posisi Kursor Saat Ini

Saat memastikan posisi huruf t berada di baris ke enam dan karakter ke enam, apa yang pembaca lakukan? Apakah menghitung secara manual? Jika jawabannya iya, maka penulis akan membagikan satu tips untuk mengetahui posisi kursor yang sedang aktif saat ini ada di mana. Tekan tombol g lalu <CTRL-G> dan perhatikan pesan yang muncul:

Image

Lihat pesan yang muncul, Col 6 of 46 maksudnya kita berada di karakter ke 6 dari 46 karakter yang ada di baris ke 6 dari 3736 baris teks yang ada (Line 6 of 3736). Kita juga mendapat informasi bahwa kata this adalah kata ke 48 dari 29465 kata yang ada, karakter ke 285 dari 167552 karakter, dan Byte ke 289 dari 173592.

Tombol Navigasi Lainnya

Selain tombol hjkl terdapat beberapa tombol lain yang bisa dipakai untuk melakukan navigasi di file yang sedang dibuka oleh vim. Berikut ini beberapa diantaranya:

  • Tombol e (end) untuk pindah ke karakter terakhir di sebuah kata jika berada di posisi lain di kata tersebut atau pindah ke karakter terakhir di kata berikutnya jika sudah berada di huruf terakhir sebuah kata.
  • Tombol w (word) untuk pindah ke karakter pertama kata selanjutnya.
  • Tombol b (back) untuk pindah ke karakter pertama di sebuah kata jika berada di posisi lain di kata berikut atau pindah ke karakter pertama kata sebelumnya jika sudah berada di karakter pertama sebuah kata.
  • Tombol ^ untuk pindah ke karakter pertama (tidak termasuk spasi, tab, atau karakter kosong lain) di baris tertentu.
  • Tombol $ untuk pindah ke karakter terakhir di baris tertentu.
  • Tombol 0 untuk pindah ke kolom pertama di baris tertentu.
  • Tombol { untuk pindah ke awal paragraf saat ini.
  • Tombol } untuk pindah ke akhir paragraf saat ini.
  • Tombol gg (dua kali ditekan) untuk pindah ke baris paling atas.
  • Tombol G untuk pindah ke baris paling bawah.
  • Tombol % untuk pindah dari satu tanda kurung ({}, (), []) ke pasangannya.

Melakukan Navigasi Sekaligus Masuk ke Insert Mode

Seringkali saat selesai berpindah ke posisi yang diinginkan, kita ingin masuk ke insert mode untuk menulis sesuatu. Misalnya, untuk menulis data baru di akhir baris kita pertama-tama menekan tombol $, setelah kursor berada di ujung baru kita menekan tombol i. Ada beberapa tombol yang akan membantu menghemat beberapa tombol untuk melakukan navigasi dan langsung masuk ke insert mode tanpa kita menekan tombol i terlebih dahulu.

  • Tombol a dipakai untuk masuk ke insert mode di karakter setelah kursor (kebalikan dari tombol i yang masuk insert mode di karakter sebelum kursor)
  • Tombol I dipakai untuk masuk ke insert mode di awal baris.
  • Tombol A dipakai untuk masuk ke insert mode di akhir baris.
  • Tombol o dipakai untuk masuk ke insert mode di bawah baris sekarang.
  • Tombol O diapkai untuk masuk ke insert mode di atas baris sekarang.
  • Tombol r dipakai untuk mengganti satu karakter dibelakang kursor dan masuk ke insert mode.

Penutup

Sekilas navigasi di vim memang terlihat cukup merepotkan. Mengapa untuk melakukan navigasi saja harus menghafal banayk tombol. Penulis ulangi, alasan utamanya ialah agar posisi tangan kita tetap siap di home row keyboard sehingga tidak bergeser-geser sekedar untuk menghampiri tombol panah atau mouse.

Artikel berikutnya kita akan membahas bagaimana memanfaatkan navigasi-navigasi dasar ini dengan sesuatu yang lebih menarik yang mempercepat proses navigasi.