I've committed to using neovim as my main editor. So, we're sticking to this config for a long time.
| Plugin | Purpose |
|---|---|
| Catppuccin | Color theme (Mocha flavor) |
| nvim-lspconfig | LSP client configuration |
| mason.nvim | LSP server package manager |
| mason-lspconfig.nvim | Bridge between mason and lspconfig |
| telescope.nvim | Fuzzy finder |
| nvim-treesitter | Syntax highlighting and code parsing |
| blink.cmp | Completion engine (Rust-based fuzzy matcher) |
| conform.nvim | Code formatting (stylua, prettier) |
| lualine.nvim | Status line |
| oil.nvim | File explorer (buffer-based) |
| gitsigns.nvim | Git integration and inline blame |
| zen-mode.nvim | Distraction-free editing |
- lua_ls — Lua, with
vimglobal recognized - pyright — Python (type checking currently disabled)
Leader key: Space
| Key | Mode | Action |
|---|---|---|
<leader>ff |
n | Find files |
<leader>fg |
n | Live grep |
<leader>fb |
n | List buffers |
<leader>fh |
n | Help tags |
<leader>ft |
n | Treesitter symbols |
<leader>fd |
n | Diagnostics |
<leader>fr |
n | LSP references |
<leader>fs |
n | Document symbols |
<leader>fw |
n | Workspace symbols |
<leader>fl |
n | Code actions |
<leader>fm |
n | Format file |
<leader>/ |
n/v | Toggle comment |
<leader>x |
n | Close buffer |
<leader>n |
n | Toggle line numbers |
<leader>j |
n | Insert journal template |
<leader>zz |
n | Toggle Zen mode |
<tab> / <S-tab> |
n | Next / previous buffer |
- |
n | Open parent directory (oil) |
gd |
n | Go to definition |
gr |
n | Go to references |
K |
n | Hover docs |
<F2> |
n | Rename symbol |
<F4> |
n | Code actions |
Format on save is enabled for:
- Lua — stylua
- JSON / CSS / JavaScript — prettier
init.lua Main entry point
lua/
plugins.lua Plugin specifications (lazy.nvim)
options.lua Editor options
mappings.lua Key bindings
configs/
lazy.lua lazy.nvim bootstrap
lspconfig.lua LSP setup and keymaps
mason.lua Mason package manager config
mason-lspconfig.lua Mason-lspconfig bridge
telescope.lua Telescope fuzzy finder
treesitter.lua Treesitter highlighting
catppuccin.lua Theme configuration
lualine.lua Status line
conform.lua Formatter configuration
gitsigns.lua Git signs and blame
luasnip.lua (dead code — see TODOs)
- I tried nvim-tree, and i loved it a lot. but oil is a bit quicker, and i like how it handles file editing, creating, and deleting.
- Completion is disabled in
/root/personal-notes/directory. - There are
TODOcomments scattered throughout the config files marking areas for potential improvement — grep forTODOto find them all.