Sebelum menulis konfigurasi Neovim, kita perlu paham dari mana editor modal ini lahir: evolusi Vi (1976), Vim (1991), hingga Neovim (2014) — dan mengapa arsitektur modernnya menjadikannya pilihan utama.

Di episode 0 sebelumnya, kita sudah menyiapkan fondasi: menguasai dasar terminal CLI dan konsep text editing, menginstall Neovim v0.10+, menyiapkan terminal modern dengan true color dan Nerd Font, serta melengkapi tooling pendukung seperti git, make, gcc, dan ripgrep. Nah, di episode 1 kali ini, kita akan mundur sejenak dari keyboard dan membahas mengapa Neovim ada di dunia ini — karena sebelum memahami cara kerja sebuah editor, kita harus paham dulu masalah apa yang ia pecahkan dan dari mana ia berasal.
Mengapa memahami sejarah penting? Karena tools teknologi bermunculan setiap tahun, dan keputusan memilih tool yang tepat tidak bisa diambil hanya dari sekadar "tool ini populer". Kalian harus paham mengapa sebuah editor yang lahir dari tahun 1976 masih dipakai jutaan developer di 2026 — dan mengapa Neovim, yang baru ada sejak 2014, justru menjadi favorit para engineer modern.
Di episode ini kita akan membahas tiga hal: pertama, perjalanan evolusi editor modal dari Vi hingga Neovim; kedua, alasan arsitektur yang membuat Neovim unggul atas Vim klasik; ketiga, filosofi modal editing yang menjadi inti dari seluruh series ini.
Untuk memahami Neovim, kita harus tahu asal-usulnya. Perjalanan ini dimulai dari sebuah editor yang lahir di era terminal teks, hampir 50 tahun lalu.
Tahun 1976. Bill Joy, seorang mahasiswa di UC Berkeley, sedang bekerja di komputer ADM-3A — sebuah terminal yang keyboard-nya TIDAK memiliki tombol panah. Untuk memindahkan kursor, ia harus menggunakan tombol h, j, k, l yang letaknya persis di bawah jari kanan. Dari keterbatasan hardware inilah lahir Vi (Visual Editor), yang dikirim bersama sistem Unix BSD.
Kejeniusan Bill Joy tidak hanya soal mengakali keterbatasan keyboard. Vi memperkenalkan ide radikal: mode. Alih-alih menekan Ctrl+<tombol> untuk setiap aksi (seperti editor era itu), Vi memisahkan kondisi mengetik teks dari kondisi memanipulasi teks. Inilah cikal bakal modal editing yang akan menjadi inti seluruh series ini.
Vi lahir sebagai program C sederhana dengan kemampuan terbatas. Selama dua dekade, ia nyaris tak berubah sementara dunia editor GUI mulai bermunculan. Lalu pada tahun 1991, Bram Moolenaar (developer dari Belanda) merilis Vim (Vi IMproved) untuk Amiga. Vim adalah perpanjangan Vi yang akhirnya di-port ke semua platform.
Bram menambahkan ratusan fitur yang tidak ada di Vi: syntax highlighting, multi-level undo, plugin, scripting (Vimscript), split window, tabs, dan lainnya. Vim menjadi editor modal paling populer di dunia, dan Bram mengelola proyek ini dengan sangat tekun (ia bahkan mendorong penggunanya untuk berdonasi ke amal di Uganda lewat "Vim Charities"). Vim adalah mahakarya, tetapi di balik kode yang semakin menua.
Tahun 2014. Thiago de Arruda dari Brasil membuka sebuah proyek fork Vim bernama Neovim, dengan satu tujuan utama: memodernkan arsitektur Vim tanpa mengubah pengalaman modal editing-nya. Vim klasik saat itu terhambat oleh codebase lama yang sulit dikembangkan — fitur modern seperti plugin async dan integrasi dengan tooling luar hampir mustahil ditambahkan tanpa menulis ulang fondasinya.
Neovim melakukan refactor besar-besaran, dan pada 2015 rilis stabil pertamanya keluar. Sejak itu Neovim tumbuh menjadi standar baru editor modal modern, sambil tetap mempertahankan kompatibilitas tinggi dengan kebiasaan Vim.
| Tahun | Tonggak Sejarah | Tokoh |
|---|---|---|
| 1976 | Vi lahir di atas terminal ADM-3A (tanpa tombol panah!) | Bill Joy |
| 1986 | Vim dimulai sebagai "Vi IMitation" di Amiga | Bram Moolenaar |
| 1991 | Vim rilis untuk publik (Vi IMproved) | Bram Moolenaar |
| 2006 | Vim 7.0: tab & spellcheck | Bram Moolenaar |
| 2014 | Fork Neovim dimulai untuk refactor arsitektur | Thiago de Arruda |
| 2015 | Neovim 0.1 rilis stabil pertama | Komunitas Neovim |
| 2022 | Neovim 0.8: built-in terminal & Lua config matang | Komunitas Neovim |
| 2024 | Neovim 0.10: LSP & Treesitter menjadi warga kelas satu | Komunitas Neovim |
Important
Yang perlu kalian ingat dari sejarah ini bukan sekadar tanggal, melainkan mengapa modal editing bertahan 50 tahun. Ia bertahan bukan karena nostalgia, melainkan karena terbukti lebih efisien secara ergonomi dan kecepatan daripada paradigma editor GUI biasa. Kita akan bahas ini di bagian filosofi.
Pertanyaan besarnya: Vim saja sudah hebat dan ada di mana-mana (bahkan vi tetap menjadi editor default di hampir semua server Linux). Mengapa harus Neovim? Berikut tiga alasan arsitektural utamanya.
Kelemahan terbesar Vim klasik adalah single-threaded. Saat plugin Vim melakukan operasi yang lambat (misalnya menyimpan ke server remote atau menjalankan linter), seluruh editor membeku. Codebase Vim yang sudah berusia puluhan tahun membuat penambahan kemampuan asynchronous hampir mustahil dilakukan secara aman.
Neovim di-refactor dari bawah: ia punya async job control bawaan, sehingga operasi latar (LSP, linter, formatter, git status) berjalan di background tanpa membekukan editor. Arsitekturnya juga embeddable — Neovim bisa berjalan sebagai engine headless yang dipanggil program lain (misalnya editor web atau aplikasi desktop), dan mendukung remote plugin via msgpack-RPC. Ini yang membuat Neovim menjadi "kernel editor" yang bisa dipakai ulang di mana saja.
Vimscript (bahasa scripting Vim) terkenal lambat dan membingungkan. Neovim menggantinya dengan Lua sebagai bahasa scripting pertama (first-class) — bahasa yang cepat, bersih, dan modern. Kalian bahkan bisa menulis seluruh konfigurasi Neovim dalam Lua, tanpa menyentuh Vimscript sama sekali.
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.api.nvim_create_autocmd("BufWritePre", {
pattern = "*",
callback = function()
vim.lsp.buf.format()
end,
})Bayangkan konfigurasi editor yang bisa memakai logika if/else, loop, table, dan modul layaknya bahasa pemrograman sungguhan — itulah yang ditawarkan Lua. Di episode 6 nanti kita akan membangun seluruh konfigurasi Neovim berbasis Lua dari nol.
Fitur IDE modern — autocomplete, go-to-definition, rename, diagnostics, syntax highlighting yang akurat — tidak lagi butuh puluhan plugin berat di Neovim. Dua fondasi terpenting sudah tertanam di kernel-nya:
pyright untuk Python, tsserver untuk TypeScript), dan Neovim langsung mendapatkan kemampuan IDE penuh.Keduanya akan kita pelajari dalam fase 4 series ini (episode 14-15). Yang perlu kalian pahami sekarang: fitur-fitur ini adalah bagian dari core Neovim, bukan plugin pihak ketiga — sesuatu yang tidak pernah bisa terjadi di Vim klasik.
| Aspek | Vim | Neovim |
|---|---|---|
| Tahun rilis | 1991 | 2014 (fork) |
| Bahasa scripting | Vimscript (lambat, kompleks) | Lua (cepat, modern) + Vimscript legacy |
| Asynchronous | Terbatas/eksternal | Job control bawaan |
| LSP client | Plugin (coc.nvim) | Built-in |
| Treesitter | Plugin eksternal | Built-in |
| Embeddable | Tidak | Ya (msgpack-RPC, remote plugin) |
| Development model | Dikelola terutama oleh 1 maintainer (Bram) | Komunitas terbuka besar & aktif |
Kompatibilitas vi | vim compatible | Bukan target; fokus modern |
| Cocok untuk | Server & env minimalis | Daily driver IDE modern |
Note
Penting untuk fair: Vim bukanlah editor yang buruk. Di server tanpa akses GUI atau saat perlu edit file konfigurasi cepat di SSH, vi/vim tetap menjadi pilihan paling universal — Neovim sendiri bisa dikonfigurasi agar mengikuti kebiasaan Vim. Yang menjadi pembeda: jika kalian ingin menjadikan editor modal sebagai daily driver IDE yang lengkap (LSP, autocomplete, git integration, AI), Neovim adalah pilihan modern yang tepat.
Ini adalah bagian paling penting dari episode ini — inti yang akan kalian bawa sepanjang series.
Editor GUI modern (VS Code, Sublime, JetBrains) menganut paradigma modeless: menekan huruf selalu berarti mengetik, dan untuk memanipulasi teks kalian harus memindahkan tangan ke mouse, mengklik, menyorot, lalu kembali mengetik. Setiap kali tangan berpindah dari home row ke mouse, kalian kehilangan 0,5–1 detik — dan melakukannya ratusan kali sehari.
Editor modal membalik paradigma ini. Normal mode (mode default) memperlakukan keyboard sebagai remote control, bukan mesin ketik. Huruf h, j, k, l adalah navigasi; d, c, y adalah operasi; w, b, e adalah lompatan. Jari kalian tidak pernah meninggalkan home row, dan setiap aksi hanya butuh 1-3 penekanan tombol.
Tip
Analogi terbaik: editor modeless seperti mengendarai mobil dengan setir analog (membelokkan sedikit demi sedikit). Editor modal seperti setir digital dengan kendali presisi — belajar lebih sulit di awal, tapi begitu dikuasai, kontrolnya jauh lebih cepat dan akurat.
Filosofi puncak modal editing adalah "kecepatan berpikir sejajar dengan kecepatan mengetik". Dalam normal mode, kalian tidak menulis instruksi untuk komputer — kalian mengekspresikan niat secara langsung. Ingin menghapus kalimat dalam tanda kutip? ci". Ingin menukar dua kata? daw lalu P. Tidak ada menu, tidak ada klik, tidak ada hierarki toolbar yang harus dipelajari.
Grammar-nya bahkan menyerupai bahasa manusia: operator + motion (kata kerja + objek). d (delete) + w (word) = "hapus kata". c (change) + $ (sampai akhir baris) = "ubah sampai akhir baris". Begitu grammar ini masuk ke otot, kalian akan "berbicara" dengan editor, bukan sekadar menekan tombol.
| Aspek | Editor Modeless (GUI) | Editor Modal (Vi/Vim/Neovim) |
|---|---|---|
| Navigasi | Mouse / arrow key + scroll | Keyboard murni (hjkl, w/b/e, gg/G) |
| Manipulasi teks | Sorot → klik menu / shortcut | Grammar operator + motion (2-3 keystroke) |
| Posisi tangan | Sering pindah ke mouse | Selalu di home row |
| Repeatable aksi | Sulit (perlu klik berulang) | . (ulangi perubahan terakhir) dengan 1 tombol |
| Kurva belajar | Rendah (instan) | Tinggi (1-2 minggu tidak nyaman) |
| Potensi jangka panjang | Cukup cepat | Sangat cepat setelah dikuasai |
Important
Jujur sejak awal: minggu pertama menggunakan Neovim akan terasa lebih lambat daripada editor yang sudah kalian kuasai. Ini normal dan dialami semua orang. Kurva belajar adalah investasi — setelah otot mengingat motion dasar (episode 2-4), kecepatan editing kalian akan melampaui apa yang mungkin dilakukan dengan mouse. Itulah mengapa series ini menempatkan fundamental modal editing di fase pertama.
Beberapa kesalahan mindset yang sering terjadi di episode sejarah/filosofi ini:
Menganggap Neovim "cuma Vim yang di-theming". Salah. Perbedaan arsitektural (Lua, LSP, Treesitter, async) membuat Neovim mampu melakukan hal yang tidak mungkin di Vim klasik.
Langsung pasang 50 plugin sebelum paham dasar. Plugin tidak akan menyelamatkan kalian dari tidak paham modal editing. Fundamental dulu (episode 2-4), plugin setelahnya.
Mencoba "hafal" semua shortcut sekaligus. Vim/Neovim punya ratusan command. Jangan dihafal — pahami pola (grammar operator+motion), dan sisanya datang dari penggunaan rutin.
Memaksakan kebiasaan editor lama. Kembali menekan arrow key atau Ctrl+S berulang di Neovim akan memperlambat kalian. Percayakan prosesnya: gunakan normal mode untuk navigasi sejak hari pertama, meski terasa kikuk.
Menyerah di minggu pertama. Kurva belajar modal editing memang curam. Tetapkan target kecil (misalnya "minggu ini hafal hjkl, w/b, dan d/c/y") alih-alih langsung menguasai segalanya.
Di episode 1 ini kita sudah menempuh perjalanan sejarah yang panjang: memahami bagaimana Vi lahir dari keterbatasan keyboard ADM-3A di tahun 1976, bagaimana Vim menyempurnakannya sejak 1991, dan bagaimana Neovim memodernkan arsitekturnya sejak 2014. Kita juga sudah membandingkan Vim vs Neovim secara teknis serta memahami filosofi modal editing yang menjadi fondasi seluruh series.
Poin penting yang harus kalian bawa:
Sekarang teori sudah matang, saatnya mulai menyentuh keyboard sungguhan. Di episode 2 selanjutnya, kita akan membahas Modal Editing & Navigasi Dasar (Vim Motion) — memahami empat mode utama (normal, insert, visual, command-line) dan menguasai navigasi dasar: hjkl, w/b/e, 0/$/^, gg/G, scrolling, hingga pencarian dengan /. Pastikan Neovim kalian sudah siap, karena di episode 2 kita mulai mengetik! Pastikan tetap semangat, karena dari sini perjalanan memasuki bagian paling seru.