Modern Neovim setup - Catppuccin, nvim-tree, Telescope, toggleterm, and more. (updated)
Clean Neovim config for macOS (nvim 0.11+). Managed by lazy.nvim.
mv ~/.config/nvim ~/.config/nvim.bak
ln -s ~/.dotfiles/nvim ~/.config/nvim
nvim| Plugin | Purpose |
|---|---|
| Catppuccin Mocha | Soft purple/pink terminal theme |
| nvim-tree | File explorer sidebar |
| Telescope | Fuzzy finder — files, grep, buffers, LSP symbols |
| toggleterm | Embedded terminal |
| lazygit | Git UI |
| harpoon | Quick file bookmarks |
| lualine | Status bar with LSP + git |
| gitsigns | Git diff in gutter |
| flash.nvim | Jump/motion with labels |
| mini.nvim | Surround, comment, pairs, indentscope |
| treesitter | Syntax + textobjects |
| which-key | Keybinding hints |
<leader> = Space
File ops
<leader>e Toggle file explorer
<leader>ff Find files (fuzzy)
<leader>fg Live grep
<leader>fb Switch buffers
<leader>fr Recent files
Terminal
<leader>gt Toggle terminal
<leader>gg LazyGit
Splits & tabs
<leader>sv Split vertical
<leader>sh Split horizontal
<leader>sx Close split
<leader>to New tab
<leader>tx Close tab
Edit
Alt+j/k Move line up/down
<leader>/ Toggle comment
<leader>w Save
zsa Add surrounding
zsd Delete surrounding
zsf Find surrounding
zsr Replace surrounding
zsh Highlight surrounding
Harpoon
<leader>hh Bookmark current file
<leader>h1-4 Jump to bookmark
Git
<leader>gs Stage hunk
<leader>gp Preview hunk
<leader>gb Blame line
Other
<leader>nh Clear search highlight
<leader>bd Close buffer
<leader>Q Force quit all
nvim/
├── init.lua # lazy.nvim bootstrap
└── lua/
├── config/
│ ├── options.lua # vim.opt, vim.g settings
│ ├── keymaps.lua # All keybindings
│ └── colorscheme.lua # Catppuccin config
└── plugins/
└── init.lua # Plugin specs
Currently mocha (dark). Change in lua/config/colorscheme.lua:
flavour = "mocha" -- latte | frappe | macchiato | mocha