No description
- Lua 99.1%
- Tree-sitter Query 0.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github | ||
| after/queries | ||
| ftplugin | ||
| lua | ||
| .gitignore | ||
| .luacheckrc | ||
| .stylua.toml | ||
| init.lua | ||
| lazy-lock.json | ||
| LICENSE.md | ||
| README.md | ||
nvim
Personal Neovim configuration — built for ML/AI and backend development.
Install
git clone https://git.jfraeys.com/jfraeysd/nvim.git ~/.config/nvim
nvim # lazy.nvim bootstraps and installs plugins on first launch
Requires Neovim 0.12+, git, ripgrep, fd, and node (for some LSP servers).
Stack
| Area | Plugin |
|---|---|
| Completion | blink.cmp |
| LSP | nvim-lspconfig + Mason |
| Syntax | nvim-treesitter |
| Fuzzy finding | snacks.nvim picker (ripgrep / fd) |
| File manager | oil.nvim |
| File marks | harpoon2 |
| Terminal | snacks.nvim terminal (<leader>ft) |
| Git signs/hunks | gitsigns.nvim |
| Git TUI | neogit |
| Git worktrees | git-worktree.nvim |
| Formatting | conform.nvim |
| Linting | nvim-lint |
| Debugging | nvim-dap |
| Testing | neotest |
| Snippets | LuaSnip |
| Text objects | mini.ai + nvim-treesitter-textobjects |
| Surround | mini.surround |
| Auto-pairs | mini.pairs |
| Refactoring | refactoring.nvim |
| Statusline | lualine.nvim |
| Notifications | snacks.nvim notifier |
| Keybind hints | which-key.nvim |
| Diagnostics | trouble.nvim |
| Markdown | render-markdown.nvim |
| LaTeX | vimtex |
| Python REPL | iron.nvim |
| Jupyter | jupytext.nvim |
| Databases | vim-dadbod-ui |
| Venv | venv-selector.nvim |
| AI assistant | opencode.nvim |
| Theme (dark) | monokai.nvim (monokai_pro) |
| Theme (light) | solarized.nvim (neo) |
Dark/light theme switches automatically with the OS (macOS + GNOME).
Languages
LSP, formatting, and linting pre-configured for:
Python · Go · Rust · C/C++ · Lua · Bash/Zsh · Julia · Zig · SQL · JSON · YAML · TOML · LaTeX · Markdown · HTML
Key mappings (non-obvious)
| Key | Action |
|---|---|
<leader>ft |
Toggle floating terminal |
<leader>lr |
LSP rename (floating input) |
<leader>la |
LSP code action |
<leader>sf |
Find files (git) |
<leader>sG |
Live grep |
<leader>sw |
Grep word under cursor |
<C-h/j/k/l> |
Harpoon jump to mark 1–4 |
]m / [m |
Next / prev function |
af / if |
Around / inside function (visual/operator) |
ac / ic |
Around / inside class |
Updates
nvim --headless "+Lazy! sync" +qa