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
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'
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
Mulailah dengan mengatur agar nomor baris ditampilkan:
Buka file init.vim
(misalnya, gunakan nvim ~/.config/nvim/init.vim
) dan tambahkan:
set number
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
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()
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()
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
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
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()
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' }
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' }
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' }
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()
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()
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
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)
(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 diinit.vim
dari sistem (akan meminta konfirmasi sebelum menghapus).
Jika ingin menghapus plugin:
- Hapus baris
Plug '...'
dari plugin tersebut diinit.vim
. - Simpan file.
- 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()
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)