🔌 Plugins
FtVim comes with a carefully curated set of plugins. All plugins are managed by lazy.nvim.
Core
| Plugin | Description |
|---|---|
| lazy.nvim | Modern plugin manager |
| plenary.nvim | Lua utility library |
| nvim-treesitter | Syntax highlighting and code understanding |
UI
| Plugin | Description |
|---|---|
| catppuccin | Default colorscheme |
| alpha-nvim | Dashboard/start screen |
| bufferline.nvim | Buffer tabs |
| lualine.nvim | Statusline |
| indent-blankline.nvim | Indent guides |
| mini.indentscope | Animated scope indicator |
| nvim-notify | Notification manager |
| dressing.nvim | Better UI for inputs and selects |
| nvim-web-devicons | File icons |
| vim-illuminate | Highlight word under cursor |
Editor
| Plugin | Description |
|---|---|
| neo-tree.nvim | File explorer |
| snacks.nvim | Fuzzy finder (files, grep, buffers, etc.) |
| which-key.nvim | Keybinding hints |
| toggleterm.nvim | Terminal integration |
| mini.ai | Better text objects |
| mini.bufremove | Better buffer deletion |
Coding
| Plugin | Description |
|---|---|
| blink.cmp | Auto-completion |
| nvim-lspconfig | LSP configuration |
| mason.nvim | LSP/DAP/Linter installer |
| mason-lspconfig.nvim | Mason + lspconfig integration |
| conform.nvim | Code formatting |
| Comment.nvim | Code commenting |
Git
| Plugin | Description |
|---|---|
| gitsigns.nvim | Git signs, blame, and hunks |
Default Language Servers
FtVim configures these LSP servers by default:
| Language | Server |
|---|---|
| C/C++ | clangd |
| Python | pyright |
| Lua | lua_ls |
Additional servers can be installed via :Mason.
Default Formatters
| Language | Formatter |
|---|---|
| Lua | stylua |
Additional formatters can be installed via :Mason.
Default Treesitter Parsers
The following parsers are installed by default:
bashcluamarkdownpythonvimvimdoc
Additional parsers are installed automatically when you open files of other types.
Lazy Loading
Most plugins are lazy-loaded for fast startup:
- Event-based: Load on specific events (e.g.,
BufReadPost,InsertEnter) - Command-based: Load when a command is run (e.g.,
:Neotree) - Keymap-based: Load when a keymap is pressed (e.g.,
<leader>ff)
This keeps startup time fast while ensuring plugins are available when needed.
Plugin Updates
To update all plugins:
:Lazy update
To check for updates without installing:
:Lazy check
To view plugin status:
:Lazy