Plugins
IceNvim uses a variety of plugins to guarantee a smooth editing experience.
Plugin Manager¶
IceNvim uses vim.pack as plugin manager which is added in 0.12. Compared to plugin managers like lazy.nvim, it is more easily configurable and much lighter.
Colorscheme and UI¶
IceNvim comes with the following colorschemes (and their variants; for details, check out the corresponding repositories):
- cyberdream theme
- everforest theme (less strain on your eyes 👀)
- gruvbox theme
- kanagawa theme
- monet theme
- nightfox theme
- tokyonight theme (this is the first theme I used for neovim btw)
- vague theme
As well as some other UI-related plugins, including:
- dashboard: provides a welcome screen when opening neovim
- fidget: displays pretty notifications
- indent-blankline: adds indentation lines
- lualine: displays various info about neovim at the bottom
- nvim-scrollview: displays a scroll bar
- nvim-transparent: makes most background colors of neovim transparent
- rainbow-delimiters: use different colors for paired parentheses
- winsep: indicates the window currently being focused
Improving Editting Experience¶
IceNvim uses various plugins for better editting experience:
- grug-far: better find / replace
- hop: hops to the desired position with a few key presses
- nvim-autopairs: automatically closes pairs such as parentheses
- surround: surround text with parentheses or tags easily
- ufo: better folding
- undotree: visualize your edits so that you can undo them with much ease
Useful Tools for Development¶
Apart from the necessary plugins for basic editting, IceNvim also includes several useful plugins that boost development efficiency:
- colorizer: colorize rgb / hex / ... colors
- gitsigns: git integration for buffers
- markdown-preview: live preview for markdown files
- neogit: an extremely powerful and handy git interface
- nvim-tree: displays file tree
- nvim-treesitter: build a syntax tree and enable better highlighting, and much much more
- telescope: find, filter, preview, pick... you name it
- todo-comments: highlight todo / warn / fix / perf / ... comments
- trouble: a pretty list for showing diagnostics, references, etc.
Auto completions, diagnostics, formatting, etc., are managed by these extra plugins:
- blink-cmp: incredibly fast completion
- mason: manage lsp / formatter sources
- null-ls: code formatter; IceNvim actually uses none-ls, a fork of the original null-ls project
- lspsaga: collection of useful lsp utilities like hover docs and displaying diagnostics
Some languages also require extra plugins (disabled by default):
- flutter-tools.nvim: flutter development
- rustaceanvim: rust development
- typst-preview.nvim: writing with typst