DEV Community

mikidev
mikidev

Posted on

Panduan Kustomisasi Neovim: Menciptakan Editor Teks Super Sesuai Keinginan Anda

Neovim adalah editor teks yang sangat kuat dan fleksibel, populer di kalangan banyak pengembang. Artikel ini akan memandu Anda melalui langkah-langkah kustomisasi Neovim, mulai dari instalasi, pengaturan dasar, manajemen plugin, hingga peningkatan produktivitas, sehingga Anda dapat memiliki Neovim yang indah dan sesuai dengan kebutuhan penggunaan Anda secara maksimal.

1. Instalasi Neovim (untuk macOS)

Bagi pengguna macOS, kita dapat menginstal Neovim dengan mudah melalui Homebrew:

brew install neovim
Enter fullscreen mode Exit fullscreen mode

Agar dapat menjalankan Neovim dengan perintah vim seperti biasa, dan mengatur Neovim sebagai editor utama sistem (misalnya, saat menggunakan git commit):
Buka file ~/.zshrc (atau ~/.bashrc jika menggunakan Bash) dan tambahkan baris berikut:

alias vim='nvim'
export EDITOR='nvim'
Enter fullscreen mode Exit fullscreen mode

Setelah menyimpan file, jangan lupa untuk menutup dan membuka Terminal kembali, atau gunakan perintah source ~/.zshrc (atau source ~/.bashrc) agar perubahan diterapkan.

2. Pengaturan Dasar: init.vim

File konfigurasi utama Neovim adalah init.vim, yang terletak di ~/.config/nvim/init.vim. Jika folder nvim atau file init.vim belum ada, buatlah terlebih dahulu:

mkdir -p ~/.config/nvim
touch ~/.config/nvim/init.vim
Enter fullscreen mode Exit fullscreen mode

Mulailah dengan mengatur agar nomor baris ditampilkan:
Buka file init.vim (misalnya, gunakan nvim ~/.config/nvim/init.vim) dan tambahkan:

set number
Enter fullscreen mode Exit fullscreen mode

Simpan file dan buka Neovim kembali. Anda akan melihat nomor baris sudah ditampilkan.

3. Manajemen Plugin dengan vim-plug

vim-plug adalah manajer plugin yang populer untuk Vim dan Neovim, memudahkan instalasi dan pengelolaan plugin.

Instalasi vim-plug:

Buat folder autoload dan unduh plug.vim:

mkdir -p ~/.config/nvim/autoload
curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Enter fullscreen mode Exit fullscreen mode

Konfigurasi vim-plug di init.vim:

Tambahkan bagian berikut ke dalam file init.vim untuk mendefinisikan area deklarasi plugin:

call plug#begin('~/.config/nvim/plugged')
" Deklarasikan berbagai plugin di sini
call plug#end()
Enter fullscreen mode Exit fullscreen mode

4. Kustomisasi Tampilan (Appearance)

4.1. Tema Warna: Onedark

Tema onedark adalah tema yang indah dan nyaman dipandang.

Instalasi onedark.vim:
Tambahkan baris berikut di antara plug#begin dan plug#end di init.vim:

call plug#begin('~/.config/nvim/plugged')
Plug 'joshdick/onedark.vim'
call plug#end()
Enter fullscreen mode Exit fullscreen mode

Simpan file init.vim, lalu buka Neovim dan ketik perintah :PlugInstall kemudian tekan Enter untuk menginstal plugin.

Mengaktifkan Tema:
Agar tema onedark digunakan setiap kali Neovim dibuka dan untuk mengaktifkan Syntax Highlighting, tambahkan baris-baris ini di init.vim (sebaiknya diletakkan setelah call plug#end()):

syntax on
colorscheme onedark
Enter fullscreen mode Exit fullscreen mode

File init.vim Anda sekarang seharusnya terlihat seperti ini:

set number

call plug#begin('~/.config/nvim/plugged')
Plug 'joshdick/onedark.vim'
call plug#end()

syntax on
colorscheme onedark
Enter fullscreen mode Exit fullscreen mode

4.2. Status Line yang Indah: Lightline

lightline.vim membantu menambahkan Status Line yang indah dan menampilkan informasi yang berguna.

Instalasi lightline.vim:
Tambahkan Plug 'itchyny/lightline.vim' di bagian plugin pada init.vim:

call plug#begin('~/.config/nvim/plugged')
Plug 'joshdick/onedark.vim'
Plug 'itchyny/lightline.vim'
call plug#end()
Enter fullscreen mode Exit fullscreen mode

Simpan file, buka Neovim, dan jalankan :PlugInstall.

Konfigurasi Lightline agar Sesuai dengan Onedark:
Tambahkan konfigurasi berikut di init.vim agar Lightline menggunakan skema warna Onedark:

let g:lightline = { 'colorscheme': 'onedark' }
Enter fullscreen mode Exit fullscreen mode

File init.vim akan menjadi seperti ini:

set number

call plug#begin('~/.config/nvim/plugged')
Plug 'joshdick/onedark.vim'
Plug 'itchyny/lightline.vim'
call plug#end()

syntax on
colorscheme onedark
let g:lightline = { 'colorscheme': 'onedark' }
Enter fullscreen mode Exit fullscreen mode

5. Peningkatan Fungsionalitas (Functionality)

5.1. Syntax Highlighting Multi-Bahasa: vim-polyglot

vim-polyglot adalah plugin yang mengintegrasikan Syntax Highlighting untuk banyak bahasa pemrograman, membantu kode lebih mudah dibaca.

Instalasi vim-polyglot:
Tambahkan Plug 'sheerun/vim-polyglot' di init.vim dan sebaiknya tambahkan set nocompatible di bagian paling atas file agar plugin dapat bekerja dengan optimal:

set number
set nocompatible " Tambahkan baris ini

call plug#begin('~/.config/nvim/plugged')
Plug 'joshdick/onedark.vim'
Plug 'itchyny/lightline.vim'
Plug 'sheerun/vim-polyglot' " Tambahkan plugin ini
call plug#end()

syntax on
colorscheme onedark
let g:lightline = { 'colorscheme': 'onedark' }
Enter fullscreen mode Exit fullscreen mode

Simpan dan jalankan :PlugInstall.

5.2. Pencarian File Cepat: CtrlP

ctrlp.vim membantu Anda mencari dan membuka file dalam proyek dengan cepat menggunakan Ctrl+P, mirip dengan di VS Code.

Instalasi ctrlp.vim:
Tambahkan Plug 'kien/ctrlp.vim' di init.vim:

call plug#begin('~/.config/nvim/plugged')
Plug 'joshdick/onedark.vim'
Plug 'itchyny/lightline.vim'
Plug 'sheerun/vim-polyglot'
Plug 'kien/ctrlp.vim' " Tambahkan plugin ini
call plug#end()
Enter fullscreen mode Exit fullscreen mode

Simpan dan jalankan :PlugInstall.

5.3. Sistem Bantuan Kode Cerdas: Coc (Conquer of Completion)

coc.nvim mengubah Neovim menjadi IDE dengan berbagai kemampuan seperti Autocomplete, Linting, Formatting, dan lainnya.

Prasyarat:
Harus terinstal Node.js versi 10.12 atau lebih tinggi.

Instalasi coc.nvim:
Tambahkan Plug 'neoclide/coc.nvim', {'branch': 'release'} di init.vim:

call plug#begin('~/.config/nvim/plugged')
Plug 'joshdick/onedark.vim'
Plug 'itchyny/lightline.vim'
Plug 'sheerun/vim-polyglot'
Plug 'kien/ctrlp.vim'
Plug 'neoclide/coc.nvim', {'branch': 'release'} " Tambahkan plugin ini
call plug#end()
Enter fullscreen mode Exit fullscreen mode

Simpan dan jalankan :PlugInstall.

Instalasi Ekstensi yang Menarik untuk Coc:
Coc memiliki banyak ekstensi yang menambah fungsionalitas. Kita dapat menginstalnya menggunakan perintah :CocInstall di dalam Neovim. Contoh ekstensi yang berguna:

  • coc-tsserver: Mendukung TypeScript dan JavaScript
  • coc-eslint: Integrasi ESLint untuk JavaScript/TypeScript
  • coc-prettier: Membantu memformat kode agar rapi
  • coc-snippets: Mendukung Code Snippets untuk mengetik kode berulang lebih cepat
  • coc-spell-checker: Memeriksa ejaan kata
  • coc-tailwindcss: (Jika menggunakan Tailwind CSS)

Contoh instalasi beberapa ekstensi sekaligus:

:CocInstall coc-tsserver coc-eslint coc-prettier coc-snippets coc-spell-checker
Enter fullscreen mode Exit fullscreen mode

Catatan: Beberapa ekstensi mungkin memerlukan Python. Pastikan Python sudah terinstal di sistem Anda.
Anda dapat memeriksa kesiapan sistem untuk Coc dengan perintah :checkhealth provider. Jika ada kesalahan, ikuti saran yang diberikan.

Konfigurasi Tambahan untuk coc-prettier (Contoh):
Tambahkan konfigurasi berikut di init.vim agar dapat menggunakan perintah :Prettier untuk memformat file, dan membuat pemetaan kunci untuk memformat kode yang dipilih:

command! -nargs=0 Prettier :CocCommand prettier.formatFile
vmap <leader>f  <Plug>(coc-format-selected)
nmap <leader>f  <Plug>(coc-format-selected)
Enter fullscreen mode Exit fullscreen mode

(Tombol <leader> biasanya adalah \, bisa diubah)

6. Manajemen Plugin dengan vim-plug

  • :PlugInstall [nama plugin]: Menginstal plugin baru (jika nama tidak disebutkan, akan menginstal semua plugin yang belum terinstal).
  • :PlugUpdate [nama plugin]: Memperbarui plugin (jika nama tidak disebutkan, akan memperbarui semua plugin).
  • :PlugClean: Menghapus plugin yang tidak dideklarasikan di init.vim dari sistem (akan meminta konfirmasi sebelum menghapus).

Jika ingin menghapus plugin:

  1. Hapus baris Plug '...' dari plugin tersebut di init.vim.
  2. Simpan file.
  3. Buka Neovim dan jalankan perintah :PlugClean.

7. Plugin Tambahan: vim-numbertoggle

vim-numbertoggle adalah plugin kecil yang membuat nomor baris saat ini terlihat lebih menonjol. Mungkin ada masalah dengan menggulir layar dengan cepat menggunakan perintah nG dalam beberapa kasus.

Jika ingin mencoba:

call plug#begin('~/.config/nvim/plugged')
" ... Plugin lainnya ...
Plug 'jeffkreeftmeijer/vim-numbertoggle'
call plug#end()
Enter fullscreen mode Exit fullscreen mode

Kemudian jalankan :PlugInstall.

Kesimpulan

Kustomisasi Neovim mungkin terlihat rumit pada awalnya, tetapi ketika Anda mulai terbiasa dengan init.vim dan vim-plug, Anda akan menemukan bahwa ini adalah alat yang sangat kuat dan dapat disesuaikan tanpa batas untuk alur kerja Anda. Selamat bersenang-senang menciptakan Neovim versi Anda sendiri!

Jika ada saran atau menemukan kesalahan, silakan berikan komentar untuk perbaikan lebih lanjut.

Top comments (0)