Konfigurasi Neovim berbasis NvChad yang dibuat supaya editor terasa cepat, rapi, dan siap dipakai untuk coding harian.
Repo ini berisi konfigurasi kustom untuk Neovim + NvChad. Di dalamnya sudah ada konfigurasi UI, LSP, formatter, snippet, file explorer, Treesitter, dan beberapa plugin tambahan seperti Triforce, Trouble, Todo Comments, Markview, Neocord, Floaterm, Timerly, dan Typr.
Konfigurasi ini cocok untuk kamu yang ingin Neovim tampil seperti IDE, tetapi tetap ringan dan gampang dikustom.
- Base editor menggunakan Neovim dan NvChad.
- Plugin dikelola otomatis oleh
lazy.nvim. - Tema
everblushdengan statusline minimal. - File explorer
nvim-treeyang tetap menampilkan dotfiles dan file dari.gitignore. - LSP untuk HTML, CSS, C/C++, PHP, Python, Go, TypeScript/JavaScript, Rust, dan Java.
- Inlay hints otomatis saat LSP aktif.
- Formatter via
conform.nvimuntuk Lua, CSS, HTML, Python, C/C++, PHP, JavaScript, TypeScript, dan Blade. - Treesitter untuk syntax highlight beberapa bahasa populer.
- Dukungan Blade/PHP, snippet custom, TODO comments, diagnostics list, floating terminal, dan markdown preview.
- Siap dipakai bareng terminal modern seperti Kitty.
| Teknologi | Fungsi | Link |
|---|---|---|
| Neovim | Editor utama | Website / Download |
| NvChad | Framework konfigurasi Neovim | nvchad.com |
| Lua | Bahasa konfigurasi | lua.org |
| lazy.nvim | Plugin manager | folke/lazy.nvim |
| Kitty | Terminal yang direkomendasikan | Download Kitty |
| Nerd Fonts | Font agar icon tampil normal | Download Nerd Fonts |
.
|-- init.lua # Bootstrap NvChad dan lazy.nvim
|-- lua/
| |-- chadrc.lua # Tema, UI, dashboard, highlight
| |-- mappings.lua # Keymap custom
| |-- options.lua # Opsi editor
| |-- autocmds.lua # Autocommand custom
| |-- configs/ # Konfigurasi plugin/LSP/formatter
| |-- plugins/ # Daftar plugin tambahan
| `-- snippets/ # Snippet custom
|-- lazy-lock.json # Versi plugin yang terkunci
`-- README.md
Sebelum install, pastikan beberapa tools ini sudah ada:
- Neovim versi modern.
- Git.
- Terminal yang nyaman, misalnya Kitty.
- Nerd Font supaya icon NvChad, file explorer, dan statusline tampil rapi.
- Tool bahasa sesuai kebutuhan, misalnya
node,npm,python,go,rust,clangd,php, ataucomposer.
Backup config lama jika ada:
mv ~/.config/nvim ~/.config/nvim.bak 2>/dev/null || true
mv ~/.local/share/nvim ~/.local/share/nvim.bak 2>/dev/null || true
mv ~/.local/state/nvim ~/.local/state/nvim.bak 2>/dev/null || true
mv ~/.cache/nvim ~/.cache/nvim.bak 2>/dev/null || trueClone repo ini:
git clone https://github.com/nabil-udah-kenyang/Nvchad-Configuration-.git ~/.config/nvimJalankan Neovim:
nvimSaat pertama kali dibuka, lazy.nvim akan mengunduh plugin secara otomatis. Tunggu proses selesai, lalu restart Neovim.
Backup config lama jika ada:
Rename-Item $env:LOCALAPPDATA\nvim nvim.bak -ErrorAction SilentlyContinue
Rename-Item $env:LOCALAPPDATA\nvim-data nvim-data.bak -ErrorAction SilentlyContinueClone repo ini:
git clone https://github.com/nabil-udah-kenyang/Nvchad-Configuration-.git $env:LOCALAPPDATA\nvimJalankan:
nvimUntuk Linux, macOS, atau WSL:
git clone https://github.com/nabil-udah-kenyang/Nvchad-Configuration-.git ~/.config/nvim && nvimJalankan health check:
:checkhealthCek plugin:
:LazyCek LSP aktif:
:LspInfoFormat file manual:
:lua require("conform").format()Konfigurasi LSP ada di lua/configs/lspconfig.lua.
| Bahasa | LSP |
|---|---|
| HTML | html |
| CSS | cssls |
| C/C++ | clangd |
| PHP | intelephense |
| Python | pyright |
| Go | gopls |
| JavaScript/TypeScript | ts_ls, tsgo |
| Rust | rust_analyzer |
| Java | jdtls |
Jika salah satu LSP belum aktif, install server yang sesuai lewat Mason atau package manager masing-masing bahasa.
Formatter diatur di lua/configs/conform.lua.
| Filetype | Formatter |
|---|---|
| Lua | stylua |
| CSS/HTML | prettier |
| Python | black |
| C/C++ | clang-format |
| PHP | pint |
| JavaScript/TypeScript | prettierd |
| Blade | blade-formatter |
- Ubah tema dan tampilan di
lua/chadrc.lua. - Tambah atau ubah keymap di
lua/mappings.lua. - Atur behavior editor di
lua/options.lua. - Tambah plugin baru di folder
lua/plugins/. - Tambah snippet custom di folder
lua/snippets/.
Jika icon tidak muncul, pastikan terminal memakai Nerd Font.
Jika plugin gagal install, buka:
:LazyLalu coba sync dari menu Lazy.
Jika LSP tidak jalan, cek:
:checkhealth lsp
:LspInfoJika formatter tidak jalan, pastikan binary formatter sudah terinstall dan bisa dipanggil dari terminal.
Gunakan
/katadi Neovim untuk mencari shortcut dengan cepat.
Notasi:Ctrl= tombol Control,Space= tombol spasi,Shift= tombol Shift.
| Shortcut | Fungsi |
|---|---|
w |
Ke awal kata berikutnya |
b |
Ke awal kata sebelumnya |
e |
Ke akhir kata berikutnya |
0 |
Ke awal baris |
^ |
Ke karakter pertama yang bukan spasi di baris |
$ |
Ke akhir baris |
gg |
Ke baris paling atas |
G |
Ke baris paling bawah |
{angka}gg |
Ke baris tertentu, contoh: 20gg |
Ctrl-d |
Scroll setengah layar ke bawah |
Ctrl-u |
Scroll setengah layar ke atas |
zt |
Letakkan baris aktif di atas layar |
zz |
Letakkan baris aktif di tengah layar |
zb |
Letakkan baris aktif di bawah layar |
| Shortcut | Fungsi |
|---|---|
i |
Insert sebelum kursor |
I |
Insert di awal teks pada baris |
a |
Insert setelah kursor |
A |
Insert di akhir baris |
o |
Buat baris baru di bawah lalu insert |
O |
Buat baris baru di atas lalu insert |
v |
Masuk Visual mode |
: |
Masuk Command-line mode |
| Shortcut | Fungsi |
|---|---|
x |
Hapus satu karakter di bawah kursor |
p |
Paste setelah kursor |
u |
Undo |
Ctrl-r |
Redo |
yy |
Salin satu baris |
{angka}yy |
Salin sejumlah baris, contoh: 3yy |
dd |
Hapus satu baris |
{angka}dd |
Hapus sejumlah baris, contoh: 3dd |
cc |
Hapus isi baris lalu masuk Insert mode |
{angka}cc |
Hapus sejumlah baris lalu masuk Insert mode |
S |
Hapus isi baris lalu masuk Insert mode |
ciw |
Ubah satu kata: hapus lalu masuk Insert mode |
diw |
Hapus satu kata |
yiw |
Salin satu kata |
. |
Ulangi perintah editing terakhir |
| Shortcut | Fungsi |
|---|---|
Esc |
Kembali ke Normal mode |
y |
Salin pilihan |
d |
Hapus / cut pilihan |
v |
Mulai seleksi per karakter |
V |
Seleksi satu baris penuh |
v → b → e |
Pilih satu kata dari akhir ke awal |
Awali dengan
v, lalu ketik kombinasi berikut.
| Shortcut | Fungsi |
|---|---|
vit |
Pilih isi di dalam tag HTML / Blade |
vat |
Pilih tag beserta isinya |
vi( atau vib |
Pilih isi dalam () |
va( atau vab |
Pilih () beserta isinya |
va{ atau vaB |
Pilih {} beserta isinya |
| Shortcut | Fungsi |
|---|---|
Ctrl-w + ←/↓/↑/→ |
Pindah ke window sesuai arah |
Ctrl-w lalu v |
Split window vertikal |
Space + x |
Tutup buffer (keymap custom) |
| Shortcut | Fungsi |
|---|---|
Ctrl-j |
Multi-cursor mode |
Ctrl-p |
Buka floating terminal |
Ctrl-h |
Pindah ke panel terminal sebelah kiri |
Ctrl-l |
Pindah ke panel terminal sebelah kanan |
[angka] + perintah → ulangi perintah beberapa kali
c → change: hapus lalu langsung Insert mode
d → delete: hapus tanpa masuk Insert mode
y → yank: salin
i → inside / di dalam objek
a → around / objek beserta pembungkusnya
Contoh cepat: ciw = ubah kata, diw = hapus kata, yiw = salin kata.
Project ini mengikuti lisensi yang ada di file LICENSE. Silakan pakai, fork, dan modifikasi sesuai kebutuhan.