Dot vim
My 14 Year-Old (Neo)Vim Configuration
I've been iterating on this configuration for more than 14 years and 1,000 commits. **It's very unlikely you'd want to use it directly.** Instead, feel free to learn and take snippets from it. The project is written primarily in Vim Script, distributed under the MIT License license, first published in 2011. Key topics include: dotfiles, plug, vim, vim-configs, vim-configuration.
My 14 Year-Old (Neo)Vim Configuration
About
I've been iterating on this configuration for more than 14 years and 1,000
commits. It's very unlikely you'd want to use it directly. Instead, feel
free to learn and take snippets from it.
Plugins and Configuration in their Own File
This is one of the things I'm most proud of, definitely steal it.
Each plugin is included and managed in its own file.
Installation
Be sure you read the About section above.
git clone git@github.com:mutewinter/dot_vim.git ~/.config/nvim.cd ~/.config/nvim.
Now you have a choice. The automated script or the manual process.
- Run
scripts/setup.
or
rake vim:linkto make the.vimrcand.nvimrcsymbolic links.vim +PlugInstall +qall
Vim Requirements
- I'm using NeoVim
via Homebrew on macOS.
Mappings
- Pressing
enterin normal mode saves the current buffer, if needed.
And many more. See mappings.vim and
plug_plugins for more.
Installing Custom Plugins
Create a new .vim file with the same name as the plugin you'd like to install
in plug_plugins/custom. Then add the installation
block. For example:
plug_plugins/custom/vim-move.vim
vimlif exists('g:plug_installing_plugins') Plug 'matze/vim-move.vim' finish endif let g:move_key_modifier = 'C'
This example installs vim-move.
Plugin List
| Stars | Plugin | Description |
|---|---|---|
| coc.nvim :page_facing_up: | Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers. | |
| vim-fugitive :page_facing_up: | fugitive.vim: A Git wrapper so awesome, it should be illegal | |
| telescope.nvim :page_facing_up: | Find, Filter, Preview, Pick. All lua, all the time. | |
| vim-surround :page_facing_up: | surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease | |
| nvim-treesitter :page_facing_up: | Nvim Treesitter configurations and abstraction layer | |
| copilot.vim :page_facing_up: | Neovim plugin for GitHub Copilot | |
| nvim-tree.lua :page_facing_up: | A file explorer tree for neovim written in lua | |
| mini.nvim :page_facing_up: | Library of 40+ independent Lua modules improving overall Neovim (version 0.9 and higher) experience with minimal effort | |
| lualine.nvim :page_facing_up: | A blazing fast and easy to configure neovim statusline plugin written in pure lua. | |
| trouble.nvim :page_facing_up: | 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing. | |
| gitsigns.nvim :page_facing_up: | Git integration for buffers | |
| vim-startify :page_facing_up: | :link: The fancy start screen for Vim. | |
| diffview.nvim :page_facing_up: | Single tabpage interface for easily cycling through diffs for all modified files for any git rev. | |
| Comment.nvim :page_facing_up: | :brain: :muscle: // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more | |
| undotree :page_facing_up: | The undo history visualizer for VIM | |
| vim-dadbod :page_facing_up: | dadbod.vim: Modern database interface for Vim | |
| nvim-surround :page_facing_up: | Add/change/delete surrounding delimiter pairs with ease. Written with :heart: in Lua. | |
| nvim-notify :page_facing_up: | A fancy, configurable, notification manager for NeoVim | |
| plenary.nvim :page_facing_up: | plenary: full; complete; entire; absolute; unqualified. All the lua functions I don't want to write twice. | |
| editorconfig-vim :page_facing_up: | EditorConfig plugin for Vim | |
| nvim-treesitter-context :page_facing_up: | Show code context | |
| vim-abolish | abolish.vim: Work with several variants of a word at once | |
| vim-repeat :page_facing_up: | repeat.vim: enable repeating supported plugin maps with "." | |
| nvim-web-devicons :page_facing_up: | Provides Nerd Font icons (glyphs) for use by neovim plugins | |
| lazygit.nvim :page_facing_up: | Plugin for calling lazygit from within neovim. | |
| vim-eunuch :page_facing_up: | eunuch.vim: Helpers for UNIX | |
| neoscroll.nvim :page_facing_up: | Smooth scrolling neovim plugin written in lua | |
| vim-dadbod-ui :page_facing_up: | Simple UI for https://github.com/tpope/vim-dadbod | |
| vim-coffee-script :page_facing_up: | CoffeeScript support for vim | |
| lush.nvim :page_facing_up: | Create Neovim themes with real-time feedback, export anywhere. | |
| ctrlsf.vim :page_facing_up: | A text searching plugin mimics Ctrl-Shift-F on Sublime Text 2 | |
| nvim-ts-context-commentstring :page_facing_up: | Neovim treesitter plugin for setting the commentstring based on the cursor location in a file. | |
| vim-peekaboo :page_facing_up: | :eyes: " / @ / CTRL-R | |
| vim-rhubarb | rhubarb.vim: GitHub extension for fugitive.vim | |
| vim-jsx-pretty :page_facing_up: | :flashlight: [Vim script] JSX and TSX syntax pretty highlighting for vim. | |
| dial.nvim :page_facing_up: | enhanced increment/decrement plugin for Neovim. | |
| playground :page_facing_up: | Treesitter playground integrated into Neovim | |
| vim-hardtime :page_facing_up: | Plugin to help you stop repeating the basic movement keys | |
| vim-node :page_facing_up: | Tools and environment to make Vim superb for developing with Node.js. Like Rails.vim for Node. | |
| vim-jsbeautify :page_facing_up: | vim plugin which formated javascript files by js-beautify | |
| rainbow-delimiters.nvim :page_facing_up: | Rainbow delimiters for Neovim with Tree-sitter | |
| iswap.nvim :page_facing_up: | Interactively select and swap function arguments, list elements, and much more. Powered by tree-sitter. | |
| open-browser.vim :page_facing_up: | Open URI with your favorite browser from your most favorite editor | |
| tmux-complete.vim :page_facing_up: | Vim plugin for insert mode completion of words in adjacent tmux panes | |
| vim-graphql :page_facing_up: | A Vim plugin that provides GraphQL file detection, syntax highlighting, and indentation. | |
| tsc.nvim :page_facing_up: | A Neovim plugin for seamless, asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc) | |
| nvim-cursorline :page_facing_up: | A plugin for neovim that highlights cursor words and lines | |
| vim-asterisk :page_facing_up: | :snowflake: *-Improved | |
| vim-tmux :page_facing_up: | vim plugin for tmux.conf | |
| color-picker.nvim :page_facing_up: | A powerful Neovim plugin that lets users choose & modify RGB/HSL/HEX colors. | |
| pgsql.vim :page_facing_up: | The best PostgreSQL plugin for Vim! | |
| vim-sort-motion | Vim mapping for sorting a range of text | |
| telescope-coc.nvim :page_facing_up: | coc.nvim integration for telescope.nvim | |
| QFEnter :page_facing_up: | Open a Quickfix item in a window you choose. (Vim plugin) | |
| coc-tailwind-intellisense :page_facing_up: | Coc.nvim extension for Tailwind CSS IntelliSense | |
| ListToggle :page_facing_up: | A vim plugin for toggling the display of the quickfix list and the location-list. | |
| vim-togglecursor :page_facing_up: | Toggle the cursor shape in the terminal for Vim. | |
| jellybeans-nvim :page_facing_up: | A port of jellybeans colorscheme for neovim | |
| vim-handlebars :page_facing_up: | [deprecated] Vim plugin for Handlebars | |
| jsonc.vim :page_facing_up: | jsonc syntax support for vim | |
| scratch.vim :page_facing_up: | Plugin to create and use a scratch Vim buffer | |
| vim-reveal-in-finder :page_facing_up: | Reveal the current file in the OS X Finder. | |
| specs.nvim :page_facing_up: | 👓 A fast and lightweight Neovim lua plugin to keep an eye on where your cursor has jumped. | |
| HelpClose :page_facing_up: | Close all help windows | |
| vim-autoreadwatch :page_facing_up: | A forked script for vim auto reloading of buffers when changed on disk. | |
| nvim-colorizer.lua :page_facing_up: | Fork of Neovim colorizer to support Typewind | |
| indent-guides.nvim :page_facing_up: | Problem fetching glepnir/indent-guides.nvim. |
That's 69 plugins, holy crap.
Generated by rake update_readme on 2025/07/19.
Contributors
Showing top 11 contributors by commit count.

