Konfigurasi Neovim yang lengkap dan modern untuk mahasiswa teknik informatika dengan fitur-fitur canggih dan interface yang menarik.
- Theme: Catppuccin Mocha - theme modern dan eye-friendly
- Statusline: Lualine dengan informasi lengkap (mode, file, git, LSP, diagnostics)
- Startup Screen: Alpha dashboard dengan menu quick access
- File Explorer: Nvim-tree dengan icons dan git integration
- Indent Guides: Rainbow indent lines untuk readability
- Smooth Scrolling: Neoscroll untuk scrolling yang halus
- Mason: Auto-install LSP servers untuk berbagai bahasa
- Support untuk: TypeScript/JavaScript, Python, Rust, Go, C/C++, Java, Lua, HTML/CSS, dan banyak lagi
- Auto-completion: nvim-cmp dengan snippet support
- Error Diagnostics: Real-time error detection dan suggestions
- Fugitive: Git commands dalam Neovim
- Gitsigns: Git signs di gutter dengan hunk preview
- LazyGit: Terminal-based git UI terintegrasi
- GitHub Integration: Octo.nvim untuk GitHub issues dan PRs
- GitHub Copilot: Auto-completion dengan AI
- Shortcuts untuk accept suggestions dan navigate
- Toggle on/off per filetype
- Presence.nvim: Show coding activity di Discord
- Custom file type icons dan status
- Toggle on/off sesuai kebutuhan
- Telescope: Fuzzy finder untuk files, strings, dan git
- Which-key: Show available keybindings
- Auto-pairs: Automatic bracket/quote pairing
- Surround: Easy text surrounding with brackets/quotes
- Comment: Smart commenting dengan context awareness
- Terminal: Integrated floating terminal dengan multiple instances
- Session Management: Auto-save dan restore sessions
- Trouble: Better diagnostic viewer
- Todo Comments: Highlight dan navigate TODO/FIXME comments
- Formatting: Conform.nvim dengan Prettier, Black, Stylua, dll
- Linting: nvim-lint dengan ESLint, Pylint, dll
- Treesitter: Advanced syntax highlighting dan text objects
- LSP Code Actions: Auto-fix dan refactoring
<leader>ff- Find files<leader>fr- Recent files<leader>fs- Find string in project<leader>fb- Show buffers<leader>ee- Toggle file explorer<leader>w- Save file<leader>q- Quit
<leader>gg- Open LazyGit<leader>gs- Git status<leader>gc- Git commit<leader>gp- Git push<leader>hs- Stage hunk<leader>hr- Reset hunk<leader>hp- Preview hunk
gd- Go to definitiongr- Show referencesK- Show hover info<leader>ca- Code actions<leader>rn- Rename symbol<leader>f- Format code
<C-\>- Toggle floating terminal<leader>tf- Floating terminal<leader>th- Horizontal terminal<leader>tv- Vertical terminal
<C-h/j/k/l>- Navigate windows<leader>sv- Split vertically<leader>sh- Split horizontally
<C-j>- Accept Copilot suggestion<leader>cp- Toggle Copilot<leader>dp- Toggle Discord Presence
# Package manager (pilih salah satu)
sudo pacman -S neovim git nodejs npm python3 pip ripgrep fd # Arch Linux
sudo apt install neovim git nodejs npm python3 python3-pip ripgrep fd-find # Ubuntu/Debian
# Language servers akan auto-install via Mason# LazyGit
sudo pacman -S lazygit # Arch
# atau
sudo apt install lazygit # Ubuntu (via PPA)
# GitHub CLI (untuk Octo.nvim)
sudo pacman -S github-cli # Arch
sudo apt install gh # Ubuntu
# Better tools
sudo pacman -S bat exa htop # Arch
sudo apt install bat exa htop # UbuntuGunakan installer script untuk setup otomatis:
# Dari direktori konfigurasi Neovim
cd ~/.config/nvim
chmod +x installer.sh
./installer.shInstaller akan:
- Backup konfigurasi lama jika ada
- Install dependencies yang dibutuhkan (git, nodejs, ripgrep, fd)
- Install Neovim versi terbaru
- Launch Neovim dan sync semua plugins
- Memberikan instruksi untuk setup GitHub Copilot dan CLI
- Backup konfigurasi lama (jika ada):
mv ~/.config/nvim ~/.config/nvim.bak- Install dependencies:
# Arch Linux
sudo pacman -S neovim git nodejs npm python3 pip ripgrep fd
# Ubuntu/Debian
sudo apt update
sudo apt install neovim git nodejs npm python3 python3-pip ripgrep fd-find- Clone/copy konfigurasi ini:
# Konfigurasi sudah ada di ~/.config/nvim- Launch Neovim:
nvim-
Wait for plugin installation - Lazy.nvim akan auto-install semua plugin
-
Setup GitHub Copilot (optional):
:Copilot setup- Setup GitHub CLI untuk Octo.nvim (optional):
gh auth login- Project Setup:
<leader>fpuntuk switch project - File Explorer:
<leader>eeuntuk browse files - Quick Search:
<leader>ffuntuk find files,<leader>fsuntuk search code - Git Workflow:
<leader>gguntuk LazyGit interface - Terminal:
<C-\>untuk terminal commands
- Error Navigation:
]ddan[duntuk next/prev diagnostic - Trouble Window:
<leader>xxuntuk overview semua errors - LSP Info:
Kuntuk documentation,gduntuk definition - Todo Management:
]tdan[tuntuk navigate TODOs
- Session Restore:
<leader>qsuntuk restore last session - Zen Mode:
<leader>zzuntuk focused coding - Which Key: Press
<leader>dan tunggu untuk lihat available commands - Comment Code:
gccuntuk line,gcdi visual mode
- JavaScript/TypeScript: Full LSP, formatting (Prettier), linting (ESLint)
- Python: LSP (Pyright), formatting (Black), linting (Pylint)
- Rust: LSP (rust-analyzer), formatting (rustfmt)
- C/C++: LSP (clangd), formatting (clang-format)
- Java: LSP (jdtls), debugging support
- Go: LSP (gopls), formatting (gofmt)
Edit lua/plugins/lsp.lua dan tambahkan di ensure_installed:
ensure_installed = {
"your_language_server",
-- ...
}Edit lua/config/keymaps.lua untuk menambah shortcuts personal.
Edit lua/plugins/colorscheme.lua untuk ganti tema atau tweak colors.
Tambah file baru di lua/plugins/ untuk plugin tambahan.
Jika ada masalah dengan installer:
# Jalankan installer dengan verbose output
bash -x ./installer.sh
# Atau install manual dependencies
sudo apt update && sudo apt install neovim git nodejs npm python3 python3-pip ripgrep fd-find:Lazy clean
:Lazy update:Mason
:LspInfo
:LspRestart- Disable unused plugins di file plugin masing-masing
- Adjust
vim.opt.updatetimedilua/config/options.lua
- Pastikan git configured:
git config --global user.name "Your Name" - GitHub token untuk Octo.nvim:
gh auth login
- Neovim:
:helpatau:Tutoruntuk basic vim - Lua: Learn Lua in Y minutes untuk scripting
- LSP:
:help lspuntuk understanding Language Server Protocol - Git: Interactive git tutorials online
Konfigurasi ini dibuat khusus untuk mahasiswa Teknik Informatika dengan workflow modern dan tools yang relevant untuk development. Semua shortcut dan fitur dirancang untuk maximize productivity dalam coding, git management, dan project collaboration.
Selamat coding! 🚀