# NeoVim - Vim/Neovim simply cannot understand control backtick -- don't map anything to it! ## Misc - [Neovide](https://neovide.dev/) ## Plugins - Manager - `lazy.nvim` - active development, builtin UI, lazy loading, modern Lua and NeoVim features - `packer` - more established, less active development, lacking modern features - `Rocks.nvim` - Tabs Navigation - Bufferline - more features, pure Lua implementation - Barbar - less actively maintained - Theme - [Tokyo Night](https://github.com/folke/tokyonight.nvim) - [Gruvbox Material](https://github.com/sainnhe/gruvbox-material) - Status Line - [`lualine`](https://github.com/nvim-lualine/lualine.nvim) - implemented in Lua, fast, extensible - Airline - Smooth Scroll - [`neoscroll`](https://github.com/karb94/neoscroll.nvim), implemented in Lua, allows more customizations - [`vim-smoothie`](https://github.com/psliwka/vim-smoothie), implemented in Vim Script, limited customizations - [`mini.animate`](https://github.com/echasnovski/mini.animate), animations for window as well, supports animations for more scrolling commands such as `gg`, `G`, and `HLM`. - [`cinnamon`](https://github.com/declancm/cinnamon.nvim/) supports animations for more commands, but it doesn't support animation in non-file buffers yet. - [Mason](https://github.com/williamboman/mason.nvim), a tool that manages installation of LSP/DAP/Formatters/Linters - [Mason Tool Installer](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim), the `mason-lspconfig` can only install LSPs, so we need this extension to install other tools - [[git|Git]] - fugitive - LazyGit is a terminal UI for Git, it can be used in combination with floating terminal window tool - [`toggleterm`](https://github.com/akinsho/toggleterm.nvim) - [`floatterm`](https://github.com/voldikss/vim-floaterm) - Or use an integrated solution like [`lazygit.nvim`](https://github.com/kdheepak/lazygit.nvim) ### Editor - Auto Pair - [`lexima.nvim`](https://github.com/cohama/lexima.vim), implemented with Vim script. - [`auto-pairs`](https://github.com/jiangmiao/auto-pairs), also implemented in Vim script. 0 [`mini.pairs`](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-pairs.md) - [`ultimate-autopair.nvim`](https://github.com/altermo/ultimate-autopair.nvim), currently in maintenance mode, supports treesitter. - [`nvim-autopairs`](https://github.com/windwp/nvim-autopairs), with treesitter, author `windwp` also has `nvim-ts-autotag`. ### File Explorer - [NerdTree](https://github.com/preservim/nerdtree), works in Vim, traditional solution. - [`nvim-tree`](https://github.com/nvim-tree/nvim-tree.lua), widely used, implemented in Lua - [NeoTree](https://github.com/nvim-neo-tree/neo-tree.nvim) - Modern features - Can be used with [`nvim-lsp-file-operations`](https://github.com/antosha417/nvim-lsp-file-operations) to rename imports automatically - oil.nvim - ChadTree - Dirvish - "Real" file explorers, suchas `nnn`, `ranger`, `lf`, etc. - [Triptych](https://github.com/simonmclean/triptych.nvim), which also integrates with `nvim-lsp-file-operations` - Telescope can also be used as a file explorer ### Treesitter - [`nvim-treesitter`](https://github.com/nvim-treesitter/nvim-treesitter), provides syntax based highlighting, folding, refactoring, etc. Without tree-sitter, this is done by regex, which is inaccurate. - [Extra modules and plugins](https://github.com/nvim-treesitter/nvim-treesitter/wiki/Extra-modules-and-plugins) for `nvim-treesitter`. - [`fokle/twilight.nvim`](https://github.com/folke/twilight.nvim), dimmes inactive part of the code, can be used with [`folke/zen-mode.nvim`](https://github.com/folke/zen-mode.nvim) ### Completion - [`nvim-cmp`](https://github.com/hrsh7th/nvim-cmp), a completion engine. - [`blink.cmp`](https://github.com/Saghen/blink.cmp), a new, modern, out of the box completion engine. ### [[markdown|Markdown]] - Preview - [`MeanderingProgrammer/render-markdown.nvim`](https://github.com/MeanderingProgrammer/render-markdown.nvim), improved markdown rendering, used in LazyVim, provdies optional LaTeX rendering support by converting formula into corresponding Unicodes. - [Glow](https://github.com/ellisonleao/glow.nvim), in Vim Markdown preview. - [Thiago4532/mdmath.nvim](https://github.com/Thiago4532/mdmath.nvim), renders LaTex with Kitty Graphics protocol that actually looks like LaTeX. Doesn't support Neovide. - [`jbyuki/nabla.nvim`](https://github.com/jbyuki/nabla.nvim), renders LaTeX with ASCii art, based on tree-sitter. Looks good in terminal but not so accurate. Seems like doesn't support `\begin{case}`? - [`diagram.nvim`](https://github.com/3rd/diagram.nvim), renders diagrams such as [[mermaid|Mermaid]]. - Language Service - [`preservim/vim-markdown`](https://github.com/preservim/vim-markdown) - established solution, depends on `godlygeek/tabular`, to provide syntax highlighting (but now we have tree-sitter and LSP) - [Marksman](https://github.com/artempyanykh/marksman), the LSP for Markdown. - [`mkdnflow.nvim`](https://github.com/jakewvincent/mkdnflow.nvim), should be able to replace `obsidian.nvim`. ### AI - [Codeium.nvim](https://github.com/Exafunction/codeium.nvim) - [Copolot.vim](https://github.com/github/copilot.vim), created by GitHub, maintained by Tim Pope. - [Parrot.nvim](https://github.com/frankroeder/parrot.nvim), supports multiple providers, a new and actively developed project, but mainly with commands. - [Minuet AI](https://github.com/milanglacier/minuet-ai.nvim), supports multiple providers, completion, and password manager CLI. - CodeCompanion ### Mail Client - [Himalya vim](https://github.com/pimalaya/himalaya-vim)