Skip to content

@ri7nz

Konfigurasi VIM - part 1

vim, tools1 min read

Banner

Karena WHY NOT menggunakan vim dalam keseharian ?

Sekilas cerita tentang saya dan editor yang saya gunakan, saya mulai mencoba menggunakan vim pada tahun 2014, setelah hijrah dari sublime text.

Alasannya, iseng. Mencoba menggunakan vim, padahal kesehariannya menggunakan submlime text, adalah sebuah percubaan yang mantap. Mengapa ? pekerjaan yang biasa saya lakukan menjadi lambat (berat). Namun, seiring berjalannya waktu saya semakin terbiasa dan akhirnya menjadi ringan.

Okay, kita lupakan masa lalu karena hidup terus mengalir bagai air 🌊.

Vim8

Vim yang saya gunakan saat ini adalah Vi IMproved 8 bukan nvim seperti kawan saya @faultable yang hipster. alasan pribadi karena senang aja dengan kemurnian kebutuhan saya sudah terpenuhi dan belum punya alasan untuk menggunakan nvim (neo-vim)

Menggunakan Vim tangan kosong (tanpa plugin) sangat menarik untuk kamu yang mau belajar soal essential atau dasar - dasar dari vim. Untuk apa ? untuk mengetahui bagaimana vim bekerja, contoh vim memiliki berkas konfigurasi yang umumnya disimpan pada path $HOME/.vimrc atau ~/.vimrc. .vimrc merupakan berkas untuk mengelola atau mengatur vim ketika kita gunakan (runtime).

1$ vim ~/.vimrc
2# mulai-lah menambahkan konfigurasi yang kamu mau # simpan dengan perintah `:w`
3# kemudian `:so %` untuk menerapkan konfigurasi saat menggunakan vim (apply in
4# runtime)

Namun, Jika sudah dikejar deadline silahkan menggunakan plugin dengan bantuan plugin manager yang bisa kamu dapatkan didunia ini.

vim-plug

vim-plug merupakan plugin manager, mengapa membutuhkan ? Jadi, dengan menggunakan manager kita dapat mengurangi hal - hal, seperti ini:

11. ambil berkas konfigurasi
22. ubah berkas konfigurasi `.vimrc`
33. terapkan dan gunakan
4
5(start)
6 |
7 V
8download configuration file
9 |
10 V
11save to my local storage
12 |
13 V
14apply in my vimrc
15 |
16 V
17 (end)

menggantikan hal tersebut dengan hanya menambahkan 1 baris kode pada .vimrc kamu, seperti ini:

1Plug 'username/plugin_name'

untuk menambahkan vim-plug, kamu hanya perlu menambahkan bari ini pada .vimrc:

1if empty(glob('~/.vim/autoload/plug.vim'))
2 silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
3 \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
4 autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
5endif
6call plug#begin('~/.vim/plugged')
7" Plugin List
8" example:
9" Plug 'username/plugin_name'
10call plug#end()
  • Baris 1: jika '~/.vim/autoload/plug.vim' tidak ada maka
  • Baris 2: mengunduh sebuah berkas vim-plug yang disimpan pada github repository
  • Baris 4: otomatis menjalankan perintah Plugin --sync dan source $MYVIMRC membaca konfigurasi .vimrc, ketika (VimEnter: startup atau dibuka melalui terminal)
  • Baris 5-9: tempat dimana kamu menuliskan plugin yang kamu gunakan

Okay, mari kita lanjut ke unboxing vim saya. Untuk awal, saya akan mencoba membagi dalam beberapa bagian, seperti:

  • Interface (Theme, Style, Layout)
  • Language
  • Etc

Interface (Theme, Style, Layout)

Biar kamu jadi pemakai dan pecandu maka kita harus menawarkan hal - hal menarik yang membuat kamu melayang dan nyaman.

Untuk persoalan antarmuka atau interface atau jenis pekerjaanya para frontend engineer, maka kita dihadapkan kesebuah hal visual yang memiliki fungsi dan memberikan perasaan ketika kita menggunakan.

NERDTree - scrooloose/nerdtree

NERDTree, plugin yang bertugas seperti ini

NERDTree

Hal - hal yang saya sukai:

  • menambahkan bookmark agar dapat berpindah - pindah dari project x ke y atau kemanapun yang saya mau
  • dapat mengetahui berkas mana yang telah dimodifikasi atau ditambahkan jika sedang aktif pada git directory

edge - sainnhe/edge

Untuk theme dan style saya menggunakan one dark sebagai color scheme, dengan menggunakan plugin sainnhe/edge. Hal menarik dari plugin ini adalah:

edge

  • memiliki variant [edge dark (aura), edge dark (neon), edge light].
  • mendukung untuk ligtline dan airline.
  • 1 theme yang dapat di terapkan ke alacritty, zsh, kitty, termite, dan fzf.

BESOK, dilanjut