Sebelum masuk lebih dalam ke Neovim, ada beberapa skill dasar dan tools yang perlu kalian siapkan terlebih dahulu, mulai dari kemampuan dasar terminal CLI, konsep text editing, hingga instalasi Neovim v0.10+, terminal modern, dan Nerd Font.

Selamat datang di series Belajar Neovim! Series ini akan mengajak kalian menguasai Neovim dari nol hingga level siap produksi: mulai dari filosofi modal editing, Vim motion, navigasi cepat, registers & macros, konfigurasi Lua (init.lua), plugin manager lazy.nvim, Treesitter, LSP, autocompletion, hingga arsitektur setup production-grade di episode-episode berikutnya. Total ada 28 episode yang akan menuntun kalian membangun editor ultra-cepat sebagai daily driver.
Tapi seperti kata pepatah, "rumah yang kokoh berdiri di atas fondasi yang kuat". Sebelum menekan tombol d untuk menghapus teks atau menulis konfigurasi Lua pertama, ada beberapa skill dasar dan tools yang wajib kalian miliki dan siapkan terlebih dahulu.
Mengapa prasyarat ini begitu penting? Neovim adalah editor yang berjalan di dalam terminal dan dikonfigurasi menggunakan Lua. Ia bukan aplikasi GUI dengan tombol-tombol yang bisa diklik — semuanya terjadi lewat keyboard, command, dan file konfigurasi teks. Artinya, jika kalian belum nyaman dengan terminal CLI atau belum paham bagaimana teks dan file bekerja di level sistem, perjalanan belajar kalian akan tersendat di setiap langkah. Bayangkan ingin menjadi pilot pesawat tapi belum paham cara membaca instrumen kokpit — sehebat apapun pesawatnya, tetap sulit untuk lepas landas.
Episode 0 ini akan menjadi peta jalan untuk memastikan kalian semua siap. Kita akan membahas skill fundamental yang dibutuhkan, menyiapkan seluruh perangkat lunak (Neovim, terminal modern, Nerd Font, dan tooling pendukung), lalu menutup dengan verifikasi bahwa semuanya berjalan dengan baik. Setelah episode ini selesai, kalian sudah benar-benar siap melangkah ke episode 1 yang membahas sejarah dan latar belakang mengapa Neovim ada.
Kita mulai dari skill. Tanpa skill ini, setup tools secanggih apapun tidak akan berguna.
Neovim lahir dan tumbuh besar di ekosistem Linux/Unix, dan ia hidup di dalam terminal. Meskipun bisa dijalankan di Windows (native maupun WSL2), mayoritas penggunaannya di dunia nyata — termasuk di server dan CI/CD — berjalan di atas Linux. Karena itu, kemampuan mengoperasikan CLI adalah syarat mutlak.
Apa saja yang harus kalian kuasai?
1. Navigasi & manajemen file. Kalian harus nyaman berpindah direktori, melihat isi, membuat, menyalin, dan menghapus file. Kemampuan ini akan kalian pakai setiap hari, termasuk saat mengelola direktori konfigurasi ~/.config/nvim/.
pwd # cetak direktori kerja saat ini
ls -la # lihat isi direktori (termasuk hidden file)
cd ~/.config/nvim # pindah ke direktori konfigurasi Neovim
mkdir -p lua/config # buat direktori bertingkat
cp init.lua backup/init.lua # salin file2. Membaca dan memproses teks. Neovim bekerja dengan file teks biasa, dan saat debugging kita sering harus menyaring output log yang panjang. Kalian perlu mengenal perintah seperti cat, less, grep, dan sed.
3. Konsep PATH & environment variable. Saat kalian menjalankan nvim di terminal, shell mencari binary tersebut di direktori yang terdaftar di $PATH. Jika nvim tidak ditemukan (error command not found), kemungkinan besar binary-nya belum masuk ke PATH. Paham $PATH akan menyelamatkan kalian dari salah satu kesalahan paling umum di episode ini.
4. Paket manager. Kalian harus bisa menginstall software lewat paket manager distro masing-masing, karena inilah cara paling mudah memasang Neovim. Di Ubuntu/Debian menggunakan apt, di Fedora/RHEL menggunakan dnf, di Arch menggunakan pacman, dan di macOS menggunakan brew.
Tip
Jika kalian masih pemula di Linux, jangan khawatir — kalian tidak perlu jadi sysadmin pro untuk belajar Neovim. Yang penting kalian nyaman menavigasi direktori, mengedit file, dan menjalankan perintah di terminal. Sisanya akan ikut terasah seiring perjalanan series ini.
Neovim adalah text editor, jadi paham cara teks direpresentasikan di komputer adalah fondasi penting. Beberapa konsep yang perlu kalian pahami:
| Konsep | Penjelasan Singkat | Peran dalam Neovim |
|---|---|---|
| Plain text vs rich text | Teks murni tanpa formatting (bukan .docx) | Neovim hanya memproses plain text / source code |
| Encoding (UTF-8) | Standar bagaimana karakter direpresentasikan sebagai byte | Neovim modern default ke UTF-8; file dengan encoding aneh bisa tampak rusak |
| Line ending | Akhir baris (LF di Linux, CRLF di Windows) | Neovim bisa mendeteksi dan menormalkan fileformat |
| File path & extension | Lokasi file dan jenis file (.lua, .mdx, .py) | Menentukan filetype yang mengatur highlight, indent, dan plugin |
| Line & column | Posisi kursor dalam file | Semua Vim motion dan navigasi berbasis posisi ini |
Kenapa ini penting? Karena semua yang akan kalian lakukan di Neovim — menghapus baris, melompat ke kata berikutnya, mencari pola — pada dasarnya adalah manipulasi posisi kursor terhadap teks. Memahami bahwa file adalah kumpulan baris dan karakter akan membuat semua konsep motion di episode 2 terasa intuitif.
Note
Kalian tidak perlu menghafal detail encoding atau format file di awal. Yang penting: paham bahwa Neovim adalah editor teks murni, dan sebagian besar operasi di dalamnya adalah operasi posisi dan pola teks.
Kebutuhan hardware Neovim sangat sederhana — cukup laptop biasa. Berikut daftar lengkap perangkat yang akan kita siapkan di episode ini:
| No | Tool | Type | Level | Keterangan |
|---|---|---|---|---|
| 1. | Laptop / PC | Hardware | Wajib | Mesin utama; spesifikasi standar sudah cukup, Neovim sangat ringan |
| 2. | Neovim v0.10+ | Software | Wajib | Editor utama; versi 0.10 ke atas agar fitur LSP/Treesitter bawaan stabil |
| 3. | Terminal modern | Software | Wajib | Dengan dukungan true color & ligature (Ghostty, WezTerm, Alacritty, Kitty) |
| 4. | Nerd Font | Font | Wajib | Menampilkan icon (devicons, LSP, git signs) dengan benar |
| 5. | Git | Software | Wajib | Version control & plugin manager berbasis Git |
| 6. | Build tools (make, gcc/clang) | Software | Direkomendasikan | Untuk kompilasi native extension plugin (fzf-native, treesitter parsers) |
| 7. | Ripgrep & fd | Software | Direkomendasikan | Mesin pencarian super cepat untuk fuzzy finder & grep |
| 8. | unzip, npm, python3 | Software | Direkomendasikan | Dependensi untuk LSP servers & tooling bahasa tertentu |
Di Linux, cara paling mudah adalah lewat paket manager. Pastikan versi yang didapat minimal 0.10.0. Di beberapa distro (misalnya Debian stable), versi Neovim di repositori resmi bisa tertinggal — jika kalian butuh versi terbaru, gunakan AppImage, binary release, atau paket dari maintainer komunitas.
sudo apt update && sudo apt install -y neovimWarning
Jika apt atau dnf kalian menghasilkan Neovim versi 0.9 atau lebih lama, jangan lanjut dulu. Banyak plugin modern (termasuk lazy.nvim dan Treesitter) membutuhkan v0.10+. Solusinya: unduh AppImage/binary resmi dari halaman releases GitHub Neovim, atau install versi terbaru lewat paket komunitas. Cek selalu dengan nvim --version.
brew update
brew install neovimchoco install neovimImportant
Untuk pengguna Windows, opsi paling direkomendasikan bagi kalian yang belajar DevOps adalah WSL2 — karena seluruh command di series ini (dan di kebanyakan dokumentasi produksi) ditulis dalam gaya Linux. Install Neovim di dalam WSL2 menggunakan metode apt/dnf di atas, bukan di Windows native.
Setelah terinstall, verifikasi versinya. Pastikan minimal NVIM v0.10.0:
nvim --version
NVIM v0.11.0
Build type: Release
...Jika versi kalian lebih lama dari 0.10.0, upgrade dulu sebelum melanjutkan series ini.
Neovim adalah editor di dalam terminal — artinya, kualitas tampilannya sangat bergantung pada terminal yang kalian pakai. Terminal modern yang mendukung true color (24-bit) akan membuat colorscheme Neovim tampil sempurna. Terminal lama yang hanya mendukung 256 warna akan membuat warna terlihat "pudar" (posterized) dan tidak enak dilihat.
Rekomendasi terminal modern:
| Terminal | Platform | Keunggulan | True Color |
|---|---|---|---|
| Ghostty | macOS & Linux | Cepat, minimal, GPU-accelerated | ✅ |
| WezTerm | Semua (termasuk Windows) | Konfigurasi Lua, tmux-like multiplexer | ✅ |
| Alacritty | Semua | GPU-accelerated, sangat ringan | ✅ |
| Kitty | macOS & Linux | GPU-accelerated, fitur lengkap (split, images) | ✅ |
| Windows Terminal | Windows | Default terbaik di Windows | ✅ |
Tip
Tidak peduli terminal mana yang kalian pilih, aturan emasnya: dukung true color, dan atur background agar berwarna gelap agar warna editor tidak pucat. Terminal bawaan yang kuno seperti cmd.exe sebaiknya ditinggalkan.
Nerd Font adalah font yang dipatch dengan ribuan glyph/icon (chevron, folder, git, logo bahasa pemrograman) yang dibutuhkan plugin modern seperti nvim-web-devicons, lualine.nvim, dan bufferline.nvim. Tanpa Nerd Font, icon tersebut tampil sebagai kotak kosong (tofu).
Rekomendasi: JetBrainsMono Nerd Font, FiraCode Nerd Font, atau Hack Nerd Font. Cara paling mudah adalah mengunduh dari situs resmi Nerd Fonts:
mkdir -p ~/.local/share/fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip
unzip JetBrainsMono.zip -d ~/.local/share/fonts
fc-cache -fv ~/.local/share/fontsfc-list | grep -i "JetBrainsMono"Setelah font terpasang, atur font tersebut di settings terminal kalian (bukan di Neovim). Di Ghostty misalnya:
font-family = JetBrainsMono Nerd Font
font-size = 13Warning
Font harus diatur di terminal, bukan di Neovim. Banyak pemula memasang Nerd Font lalu bingung karena icon tetap kotak — itu karena terminal mereka masih memakai font lama. Setelah mengganti font di terminal, tutup dan buka kembali terminal agar perubahan berlaku.
Neovim sendiri hanyalah editor — kekuatan penuhnya datang dari ekosistem tools di sekitarnya. Beberapa tools wajib/rekomendasi:
| Tool | Fungsi | Kenapa Dibutuhkan |
|---|---|---|
git | Version control | Plugin manager (lazy.nvim) meng-clone plugin dari GitHub |
make | Build automation | Kompilasi native C-extension plugin (fzf-native, treesitter parsers) |
gcc / clang | Compiler C | Dependensi build di atas |
ripgrep (rg) | Grep super cepat | Live grep di fuzzy finder — jauh lebih cepat dari grep biasa |
fd | Alternatif find yang cepat | File finder di fuzzy finder |
unzip | Ekstraksi arsip | Dipakai beberapa plugin saat install (misalnya tree-sitter parser) |
npm | Node.js package manager | Menjalankan LSP servers berbasis Node (tsserver, vscode-langservers) |
python3 | Python runtime | Menjalankan LSP servers berbasis Python (pyright, ruff) |
sudo apt install -y git make build-essential ripgrep fd-find unzip curl
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt install -y nodejsNote
Jangan terpaku pada perintah persis di atas — sesuaikan dengan distro kalian. Yang penting semua tool di tabel terpasang. Episode di fase plugin (episode 9+) akan sangat bergantung pada git, make, dan compiler C.
Setelah semuanya terpasang, saatnya uji coba pertama. Jalankan nvim di terminal:
nvim
# Di dalam Neovim, cek kesehatan:
:checkhealthSaat pertama kali dibuka, Neovim menampilkan layar kosong dengan teks bantuan. Jangan khawatir jika terlihat "sepi" — itu memang desainnya. Neovim default memang hampir tanpa hiasan; di fase-fase berikutnya kita akan membangun tampilan modern lewat konfigurasi Lua.
Beberapa hal yang perlu diverifikasi:
:set termguicolors
:hi Normal guibg=#1e1e2e guifg=#cdd6f4Jika background berubah menjadi biru-abu gelap (Catppuccin Mocha) dengan teks terang tanpa "pita" warna kasar, maka true color kalian bekerja dengan baik.
Tip
Jika kalian bingung saat pertama kali membuka Neovim: tekan i untuk masuk insert mode dan mulai mengetik, lalu tekan Esc untuk kembali ke normal mode, dan :q untuk keluar. Trio ajaib i, Esc, :q ini akan kalian pakai seumur hidup!
Berikut kesalahan paling sering dialami pemula saat setup:
Versi Neovim terlalu lama. Banyak yang menginstall dari repositori distro lama (misal Debian stable) dan mendapat Neovim 0.7/0.8. Akibatnya plugin terbaru gagal. Solusi: pastikan nvim --version menunjukkan minimal 0.10.0.
Terminal tidak mendukung true color. Colorscheme tampak "pudar" atau warna terlihat aneh. Solusi: gunakan terminal modern (WezTerm, Kitty, Ghostty, Alacritty), bukan terminal bawaan yang kuno.
Font terminal tidak diganti ke Nerd Font. Icon plugin tampil sebagai kotak kosong (□). Solusi: install Nerd Font dan ganti font di settings terminal, lalu restart terminal.
command not found: nvim. Binary tidak ditemukan di $PATH. Solusi: cek lokasi install, tambahkan ke PATH di shell config (~/.bashrc/~/.zshrc), lalu source ulang atau buka terminal baru.
Neovim berjalan lambat di WSL2. Folder project berada di path Windows (/mnt/c/...) yang I/O-nya lambat. Solusi: simpan project di file system Linux (~/...), bukan di /mnt/c.
Mencoba mempelajari semua sekaligus. Neovim terasa "tidak nyaman" di minggu pertama — itu normal. Jangan buru-buru memasang 50 plugin sebelum paham dasar modal editing.
Di episode 0 ini kita sudah menyiapkan pijakan yang kokoh: menguasai dua skill fundamental (terminal CLI dan konsep text editing), menginstall Neovim v0.10+, menyiapkan terminal modern dengan true color, memasang Nerd Font, dan melengkapi tooling pendukung seperti git, make, gcc, ripgrep, fd, npm, dan python3. Kita juga sudah memverifikasi bahwa Neovim bisa berjalan dengan baik di terminal kalian.
Poin penting yang harus kalian bawa:
$PATH.Pastikan seluruh tools di atas sudah siap, karena episode berikutnya akan membahas konsep. Di episode 1 selanjutnya, kita akan membahas sejarah, latar belakang, dan mengapa memilih Neovim — mulai dari evolusi Vi (1976) → Vim (1991) → Neovim (2014), keunggulan arsitektur Neovim yang refactored, hingga filosofi modal editing yang mengubah cara kalian menulis kode. Pastikan tetap semangat, karena perjalanan belajar Neovim baru saja dimulai!