Skip to main content

🔌 Plugins

FtVim comes with a carefully curated set of plugins. All plugins are managed by lazy.nvim.

Core

PluginDescription
lazy.nvimModern plugin manager
plenary.nvimLua utility library
nvim-treesitterSyntax highlighting and code understanding

UI

PluginDescription
catppuccinDefault colorscheme
alpha-nvimDashboard/start screen
bufferline.nvimBuffer tabs
lualine.nvimStatusline
indent-blankline.nvimIndent guides
mini.indentscopeAnimated scope indicator
nvim-notifyNotification manager
dressing.nvimBetter UI for inputs and selects
nvim-web-deviconsFile icons
vim-illuminateHighlight word under cursor

Editor

PluginDescription
neo-tree.nvimFile explorer
snacks.nvimFuzzy finder (files, grep, buffers, etc.)
which-key.nvimKeybinding hints
toggleterm.nvimTerminal integration
mini.aiBetter text objects
mini.bufremoveBetter buffer deletion

Coding

PluginDescription
blink.cmpAuto-completion
nvim-lspconfigLSP configuration
mason.nvimLSP/DAP/Linter installer
mason-lspconfig.nvimMason + lspconfig integration
conform.nvimCode formatting
Comment.nvimCode commenting

Git

PluginDescription
gitsigns.nvimGit signs, blame, and hunks

Default Language Servers

FtVim configures these LSP servers by default:

LanguageServer
C/C++clangd
Pythonpyright
Lualua_ls

Additional servers can be installed via :Mason.

Default Formatters

LanguageFormatter
Luastylua

Additional formatters can be installed via :Mason.

Default Treesitter Parsers

The following parsers are installed by default:

  • bash
  • c
  • lua
  • markdown
  • python
  • vim
  • vimdoc

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