Personalisasi Vim

Sebelumnya Irwansyah sudah menerangkan mengenai Vim secara garis besar. Sekarang saya akan coba menerangkan bagaimana mengkonfigurasi Vim agar lebih sesuai dengan gaya dan preferensi tampilan kita masing-masing. Seperti gambar di bawah ini:

Tampilan Vim yang dikonfigurasi dan ditambahkan plugin

Salah satu kekuatan Vim, selain modal editing nya (Normal mode, Insert mode, Visual mode, dll) adalah extensibility nya. Banyak terdapat Plugin yang memperkaya kemampuan Vim, di samping konfigurasi dasar yang disediakan oleh Vim itu sendiri. Vim dapat dikonfigurasi agar sesuai dengan bahasa pemrograman dan gaya kita sendiri.

Seluruh konfigurasi Vim terdapat pada file “.vimrc”. File ini terdapat pada “~/” atau root untuk pengguna Linux / OSX — %USERPROFILE% atau folder instalasi vim untuk windows. File ini lah yang dibaca oleh Vim untuk menentukan tampilan, membaca mapping kombinasi key, dan konfigurasi lain dalam Vim.

Secara garis besar, anda dapat mengatur hal-hal berikut dalam file “.vimrc”:

  • UI (Theme, background, dan font)
  • Tab/space config dan indentasi
  • Plugins (memerlukan plugin manager seperti Vundle)
  • Keymap
  • Default unicode
  • Pengaturan untuk setiap plugin yang terinstall

UI

Hal yang paling umum dalam pengaturan UI adalah berikut:

  • set lines = xx — mengatur berapa banyak line dalam window Vim yang terbuka
  • set guifont = [nama font]:h[ukuran font] — mengatur default font pada Vim
  • set foldenable — menyalakan "fold" (melipat code)
  • set foldmethod = [syntax | manual | marker | indent] — konfigurasi aturan folding (sesuai syntax, simbol tertentu, dll).
  • syntax on — menyalakan syntax highlighting.
  • set termencoding = 256 — mengatur warna pada vim terminal (non GUI). Nilai 256 disyaratkan oleh beberapa theme agar dapat berjalan pada terminal seperti solarized, gruvbox, dan badwolf.
  • set background = [dark | light] — mengatur color theme pada Vim, beberapa theme seperti solarized memiliki pengaturan warna yang berbeda pada dark dan light.
  • colorscheme [nama theme] — menentukan theme yang digunakan oleh Vim.

Tab/space dan indentasi

Beberapa orang lebih suka menggunakan space dibandingkan tab, dan sebaliknya. Di Vim, anda dapat mengatur agar setiap kali menekan <Tab> Vim secara otomatis mengubahnya menjadi space.

  • set expandtab — atur agar Vim mengeluarkan space setiap kali menekan <Tab>.
  • set tabstop = [jumlah space] — atur jumlah space yang dikeluarkan oleh Vim setiap kali menekan <Tab>.
  • filetype indent on — mengatur agar indentasi disesuaikan dengan tipe file. Hal ini biasanya didukung dengan penggunaan plugin, meski secara default, Vim telah memiliki aturan untuk tipe file umum.

Keymap

Hampir seluruh key dan fungsi dalam Vim dapat di-map ke key yang lebih mudah, contohnya adalah sebagai berikut:

remap key ke key lain:
nnoremap k gk — remap key gk ke key k pada normal mode, non recursive. nnoremap j gj — remap key gj ke key j pada normal mode, non recursive.

remap key ke fungsi:
inoremap <F5> <C-R>=strftime("%c")<CR> — remap key F5 untuk insert timestamp pada insert mode. 
map <leader>bg :let &background = (&background == "dark"? "light":"dark")<CR> 
 — remap <leader>bg untuk memanggil fungsi switch warna background dari dark ke light dan sebaliknya pada normal mode.

Untuk key remapping, syntax nya adalah sebagai berikut: [n | v | i ]map [key to map] [key to replace]

di mana n mewakili normal mode, v mewakili visual mode, dan i mewakili insert mode.

Untuk notasi key dalam mapping, yang umum digunakan adalah berikut:

  • <C-...> -- Control+...
  • <S-...> -- Shift+...
  • <A/M-...> -- Alt/Meta+...
  • <BS> -- Backspace
  • <CR> -- Carriage Return / Enter / Return
  • <F1> - <F12>

Untuk keterangan lebih lengkap mengenai konfigurasi key mapping dapat dilihat pada konfigurasi Vim dengan mengetikkan command berikut pada Vim:

:help map
:help :noremap
:help recursive_mapping
:help :map-modes
:help key-notation

Konfigurasi pada Vim adalah hal yang luas, tulisan ini merupakan pengantar terutama untuk teman-teman yang baru saja menggunakan Vim. Harap dicatat bahwa konfigurasi Vim bukanlah hal yang saklek, setiap orang mengatur Vim agar sesuai dengan gaya penggunaan dan bahasa yang digunakan masing-masing orang.

Jika teman-teman penasaran untuk mengkonfigurasi Vim lebih lanjut, silakan mengeksplorasi dokumentasi Vim pada command :help ataupun dokumentasi online. Atau bisa juga dengan mempelajari .vimrc yang digunakan oleh Vim User lain. Penjelasan mengenai Plugin akan kita sampaikan pada tulisan selanjutnya, karena penggunaan Plugin menuntut teman-teman untuk setidaknya memahami terlebih dahulu bagaimana mengkonfigurasi Vim.

P.S.

Anda dapat menggunakan https://github.com/EnC4rn/VimConfig sebagai bahan pembelajaran mengkonfigurasi Vim melalui “.vimrc”.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.