Vim
Due to I use Neovim now, the term Vim in this article refers to Neovim.
Installation
- Arch Linux
- macOS
sudo pacman -S neovim
brew install neovim
Configurations
My own configurations: dotfiles/nvim/.config/nvim at main · masakichi/dotfiles
yaml-language-server
- Using inline schema
# yaml-language-server: $schema=<urlToTheSchema>
JSON Schema Store
Find all available schemas from JSON Schema Store
Plugins
I use packer.nvim to manage all plugins.
General
- folke/tokyonight.nvim: 🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.
- nvim-lualine/lualine.nvim: A blazing fast and easy to configure neovim statusline plugin written in pure lua.
- simrat39/symbols-outline.nvim: A tree like view for symbols in Neovim using the Language Server Protocol. Supports all your favourite languages.
- folke/trouble.nvim: 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
- farmergreg/vim-lastplace: Intelligently reopen files at your last edit position in Vim.
- nvim-telescope/telescope.nvim: Find, Filter, Preview, Pick. All lua, all the time.
- nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer
- iamcco/markdown-preview.nvim: markdown preview plugin for (neo)vim
- brglng/vim-im-select: Improve Vim/Neovim experience with input methods.
- norcalli/nvim-colorizer.lua: The fastest Neovim colorizer.
- windwp/nvim-autopairs: autopairs for neovim written by lua
LSP
- neovim/nvim-lspconfig: Quickstart configurations for the Nvim LSP client
- williamboman/mason.nvim: Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
- williamboman/mason-lspconfig.nvim: Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim. Strongly recommended for Windows users.
- jose-elias-alvarez/null-ls.nvim: Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
- onsails/lspkind-nvim: vscode-like pictograms for neovim lsp completion items
Completion & snippets
- hrsh7th/nvim-cmp: A completion plugin for neovim coded in Lua.
- hrsh7th/cmp-nvim-lsp: nvim-cmp source for neovim builtin LSP client
- hrsh7th/cmp-buffer: nvim-cmp source for buffer words
- hrsh7th/cmp-path: nvim-cmp source for path
- hrsh7th/cmp-cmdline: nvim-cmp source for vim's cmdline
- hrsh7th/cmp-vsnip: nvim-cmp source for vim-vsnip
- hrsh7th/vim-vsnip: Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.
- hrsh7th/vim-vsnip-integ: vim-vsnip integrations to other plugins.
- rafamadriz/friendly-snippets: Set of preconfigured snippets for different languages.
- uga-rosa/cmp-dictionary: nvim-cmp source for dictionary.
Links
- Moving to modern Neovim / Discussion on Lobsters
- Everything you need to know to configure neovim using lua | Devlog
- From init.vim to init.lua - a crash course
- nanotee/nvim-lua-guide: A guide to using Lua in Neovim
- Configuration | LunarVim Docs
- mhinz/vim-galore: All things Vim!
- Modern Vim
- SpaceVim/SpaceVim: A community-driven modular vim distribution - The ultimate vim configuration
- kabinspace/AstroVim: AstroVim is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins