My 10 Year-Old (Neo)Vim Configuration
About
I've been iterating on this configuration for more than 10 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 [email protected]: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:link
to make the.vimrc
and.nvimrc
symbolic links.vim +PlugInstall +qall
Vim Requirements
- I'm using NeoVim via Homebrew on macOS.
Mappings
- Pressing
enter
in 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
if 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 |
Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers. | |
vim-fugitive |
fugitive.vim: A Git wrapper so awesome, it should be illegal | |
vim-surround |
surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease | |
telescope.nvim |
Find, Filter, Preview, Pick. All lua, all the time. | |
nvim-treesitter |
Nvim Treesitter configurations and abstraction layer | |
vim-startify |
||
nvim-tree.lua |
A file explorer tree for neovim written in lua | |
copilot.vim |
Neovim plugin for GitHub Copilot | |
lualine.nvim |
A blazing fast and easy to configure neovim statusline plugin written in pure lua. | |
editorconfig-vim |
EditorConfig plugin for Vim | |
gitsigns.nvim |
Git integration for buffers | |
undotree | The undo history visualizer for VIM | |
vim-dadbod |
dadbod.vim: Modern database interface for Vim | |
vim-abolish | abolish.vim: Work with several variants of a word at once | |
targets.vim | Vim plugin that provides additional text objects | |
vim-repeat | repeat.vim: enable repeating supported plugin maps with "." | |
Comment.nvim |
||
diffview.nvim |
Single tabpage interface for easily cycling through diffs for all modified files for any git rev. | |
neogit |
magit for neovim | |
mini.nvim |
Library of 20+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience with minimal effort | |
splitjoin.vim |
Switch between single-line and multiline forms of code | |
vim-coffee-script | CoffeeScript support for vim | |
vim-eunuch | eunuch.vim: Helpers for UNIX | |
plenary.nvim |
plenary: full; complete; entire; absolute; unqualified. All the lua functions I don't want to write twice. | |
ctrlsf.vim | A text searching plugin mimics Ctrl-Shift-F on Sublime Text 2 | |
vim-textobj-user | Vim plugin: Create your own text objects | |
nvim-web-devicons | lua fork of vim-web-devicons for neovim |
|
vim-peekaboo | ||
lush.nvim |
Create Neovim themes with real-time feedback, export anywhere. | |
vim-jsx-pretty | ||
nvim-ts-rainbow |
Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead | |
neoscroll.nvim |
Smooth scrolling neovim plugin written in lua | |
vim-node | Tools and environment to make Vim superb for developing with Node.js. Like Rails.vim for Node. | |
vim-rhubarb | rhubarb.vim: GitHub extension for fugitive.vim | |
vim-hardtime |
Plugin to help you stop repeating the basic movement keys | |
vim-jsbeautify |
vim plugin which formated javascript files by js-beautify | |
nvim-ts-context-commentstring |
Neovim treesitter plugin for setting the commentstring based on the cursor location in a file. | |
vim-dadbod-ui |
Simple UI for https://github.com/tpope/vim-dadbod | |
lazygit.nvim |
Plugin for calling lazygit from within neovim. | |
playground |
Treesitter playground integrated into Neovim | |
switch.vim |
A simple Vim plugin to switch segments of text with predefined replacements | |
tmux-complete.vim | Vim plugin for insert mode completion of words in adjacent tmux panes | |
open-browser.vim |
Open URI with your favorite browser from your most favorite editor | |
vim-graphql | A Vim plugin that provides GraphQL file detection, syntax highlighting, and indentation. | |
iswap.nvim |
Interactively select and swap function arguments, list elements, and more. Powered by tree-sitter. | |
vim-asterisk |
||
vim-misc | Miscellaneous auto-load Vim scripts | |
vim-ragtag | ragtag.vim: ghetto HTML/XML mappings (formerly allml.vim) | |
specs.nvim |
||
vim-tmux |
vim plugin for tmux.conf | |
nvim-cursorline |
A plugin for neovim that highlights cursor words and lines | |
pgsql.vim |
The best PostgreSQL plugin for Vim! | |
vim-sort-motion | Vim mapping for sorting a range of text | |
color-picker.nvim |
A powerful Neovim plugin that lets users choose & modify RGB/HSL/HEX colors. | |
QFEnter |
Open a Quickfix item in a window you choose. (Vim plugin) | |
telescope-coc.nvim |
coc.nvim integration for telescope.nvim | |
indent-guides.nvim |
||
coc-tailwind-intellisense |
Coc.nvim extension for Tailwind CSS IntelliSense | |
ListToggle |
A vim plugin for toggling the display of the quickfix list and the location-list. | |
vim-togglecursor |
Toggle the cursor shape in the terminal for Vim. | |
Join | a better (hopefully) :Join command in vim | |
vim-handlebars | [deprecated] Vim plugin for Handlebars | |
jellybeans-nvim |
A port of jellybeans colorscheme for neovim | |
scratch.vim | Plugin to create and use a scratch Vim buffer | |
vim-reveal-in-finder | Reveal the current file in the OS X Finder. | |
HelpClose | Close all help windows | |
vim-autoreadwatch | A forked script for vim auto reloading of buffers when changed on disk. | |
nvim-colorizer.lua |
Fork of Neovim colorizer to support Typewind |
That's 71 plugins, holy crap.
Generated by rake update_readme
on 2023/03/15.