Vim plugins: Difference between revisions
From wikinotes
(19 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
{{ NOTE | | {{ NOTE | | ||
See vimrc for latest notes, plugins, and usage. | See vimrc for latest notes, plugins, and usage. | ||
}} | |||
{{ TODO | | |||
organize these by vim vs neovim | |||
}} | }} | ||
Line 22: | Line 26: | ||
<blockquote> | <blockquote> | ||
{| | {| | ||
| [[VimPlugin: vim-plug]] || asynchronous plugin manager | | [[VimPlugin: vim-plug]] || asynchronous plugin manager | ||
|- | |- | ||
| [[VimPlugin: Vundle]] || plugin manager | | [[VimPlugin: Vundle]] || plugin manager | ||
Line 33: | Line 37: | ||
{| | {| | ||
| [[VimPlugin: Ale]] || Language Agnostic Linter (lightweight) | | [[VimPlugin: Ale]] || Language Agnostic Linter (lightweight) | ||
|- | |||
| [[VimPlugin: vim bookmarks]] || store bookmarks in codebase | |||
|- | |- | ||
| [[VimPlugin: Cscope]] || Jump to Code (inverse of ctags) | | [[VimPlugin: Cscope]] || Jump to Code (inverse of ctags) | ||
Line 40: | Line 46: | ||
| [[VimPlugin: Drawit]] || Draw ASCII diagrams | | [[VimPlugin: Drawit]] || Draw ASCII diagrams | ||
|- | |- | ||
| [[VimPlugin: EasyMotion]] || | | [[VimPlugin: EasyMotion]] || motions, without counting | ||
|- | |- | ||
| [[VimPlugin: Fugitive]] || Git interface | | [[VimPlugin: Fugitive]] || Git interface | ||
Line 51: | Line 57: | ||
|- | |- | ||
| [[VimPlugin: indentLine]] || visual marks to show level of indentation | | [[VimPlugin: indentLine]] || visual marks to show level of indentation | ||
|- | |||
| [[VimPlugin: indent-blankline]] || configurable indentation lines, and a highlighted scope indicator line | |||
|- | |- | ||
| [[VimPlugin: NERDTree]] || File Manager | | [[VimPlugin: NERDTree]] || File Manager | ||
Line 59: | Line 67: | ||
|- | |- | ||
| [[VimPlugin: Speech]] || reads everything you type in a computerized voice (used while wisdom teeth were out) | | [[VimPlugin: Speech]] || reads everything you type in a computerized voice (used while wisdom teeth were out) | ||
|- | |||
| [[VimPlugin: surround]] || Add/Change/Remove surrounding tags (ex. quotes, html-elements, ..) | |||
|- | |- | ||
| [[VimPlugin: Syntastic]] || Language Agnostic Linter (heavy) | | [[VimPlugin: Syntastic]] || Language Agnostic Linter (heavy) | ||
Line 93: | Line 103: | ||
|- | |- | ||
| [[VimPlugin: vim-maximizer]] || toggle vim-split an fullscreen (like tmux) | | [[VimPlugin: vim-maximizer]] || toggle vim-split an fullscreen (like tmux) | ||
|- | |||
| [[VimPlugin: vim-matchup]] || highlight and jump between various language open/end syntax | |||
|- | |- | ||
| [[VimPlugin: vim-over]] || dynamic highlighting/preview while you perform search/replaces | | [[VimPlugin: vim-over]] || dynamic highlighting/preview while you perform search/replaces | ||
Line 105: | Line 117: | ||
|- | |- | ||
| [[VimPlugin: visual-increment]] || multiline increment/deincrement numbers using ctrl+a/ctrl+x | | [[VimPlugin: visual-increment]] || multiline increment/deincrement numbers using ctrl+a/ctrl+x | ||
|- | |||
| [[VimPlugin: orgmode.nvim]] || neovim [[org mode]] plugin | |||
|- | |||
| [[VimPlugin: vim-orgmode]] || minimal [[org mode]] plugin for vim | |||
|- | |||
| [[VimPlugin: org.vim]] || minimal [[org mode]] plugin for vim | |||
|- | |||
| [[VimPlugin: vim-table-mode]] || spreadsheet like behaviour within vim | |||
|- | |||
| [[VimPlugin: vim-localvimrc]] || project-specific vimrc files | |||
|- | |||
| [[VimPlugin: lightline]] || lightweight powerline clone w/ api for hooking other plugin info | |||
|- | |||
| [[NvimPlugin: telescope]] || search various things, built overtop of fzf | |||
|- | |||
|} | |} | ||
</blockquote><!-- general --> | </blockquote><!-- general --> | ||
Line 110: | Line 137: | ||
= Completion/LSP = | = Completion/LSP = | ||
<blockquote> | <blockquote> | ||
{| | {| | ||
|- | |- | ||
| [[VimPlugin: YouCompleteMe]] || Code-Completion | | [[VimPlugin: YouCompleteMe]] || Code-Completion | ||
Line 117: | Line 144: | ||
|- | |- | ||
| [[VimPlugin: Coc.nvim]] || intellisense for neovim (refactor-rename, autocomplete, goto, find-references, ....) | | [[VimPlugin: Coc.nvim]] || intellisense for neovim (refactor-rename, autocomplete, goto, find-references, ....) | ||
|- | |||
| [[VimPlugin: lsp]] || neovim's builtin lsp | |||
|- | |||
| [[VimPlugin: nvim-lspconfig]] || configs for neovim's builtin lsp | |||
|- | |||
| [[VimPlugin: nvim-lsp-installer]] || installs lsp providers | |||
|- | |||
| [[VimPlugin: mason]] || install lsp providers | |||
|- | |- | ||
| [[VimPlugin: LanguageClient]] || autocomplete for vim (refactor-rename, autocomplete, goto, find-references, ...) | | [[VimPlugin: LanguageClient]] || autocomplete for vim (refactor-rename, autocomplete, goto, find-references, ...) | ||
Line 126: | Line 161: | ||
| [[VimPlugin: vim-go]] || completion, debugging, builds, etc | | [[VimPlugin: vim-go]] || completion, debugging, builds, etc | ||
|- | |- | ||
| [[nvim plug: nvim-ufo]] || syntax-highlighting within folds | |||
|} | |} | ||
Line 158: | Line 194: | ||
|- | |- | ||
| [[VimPlugin: python-mode]] || MetaPackage, several of the most popular python extensions for vim | | [[VimPlugin: python-mode]] || MetaPackage, several of the most popular python extensions for vim | ||
|- | |||
| [[VimPlugin: SimpylFold]] || syntax based folding for python | |||
|- | |||
|} | |} | ||
</blockquote><!-- Python --> | </blockquote><!-- Python --> | ||
Line 175: | Line 214: | ||
|} | |} | ||
</blockquote><!-- Java --> | </blockquote><!-- Java --> | ||
== LaTex == | |||
<blockquote> | |||
{| | |||
|- | |||
| [[VimPlugin: vimtex]] || Latex editor, previews | |||
|- | |||
|} | |||
</blockquote><!-- LaTex --> | |||
</blockquote><!-- Language Specific --> | </blockquote><!-- Language Specific --> | ||
= Syntax Highlighting = | = Syntax Highlighting = | ||
<blockquote> | <blockquote> | ||
{| | {| | ||
|- | |- | ||
| [[VimPlugin: Markdown-Syntax]] || | | [[VimPlugin: Markdown-Syntax]] || | ||
|- | |- | ||
| [[VimPlugin: vim-cpp-enhanced-highlight]] || | | [[VimPlugin: vim-cpp-enhanced-highlight]] || | ||
|- | |- | ||
| [[VimPlugin: vim-ledger]] || | | [[VimPlugin: vim-ledger]] || | ||
|- | |- | ||
| [[VimPlugin: typescript-vim]] || | | [[VimPlugin: typescript-vim]] || | ||
Line 197: | Line 245: | ||
| [[VimPlugin: nvim-treesitter]] || autocomplete, syntax highlighting, much more | | [[VimPlugin: nvim-treesitter]] || autocomplete, syntax highlighting, much more | ||
|- | |- | ||
| [[VimPlugin: python-syntax]] || | | [[VimPlugin: python-syntax]] || | ||
|- | |- | ||
| [[VimPlugin: salt-vim]] || syntax highlighting for saltstack .sls files | | [[VimPlugin: salt-vim]] || syntax highlighting for saltstack .sls files | ||
Line 210: | Line 258: | ||
<blockquote> | <blockquote> | ||
{| | {| | ||
|- | |- | ||
| [[VimPlugin: FastFold]] || | | [[VimPlugin: FastFold]] || | ||
|- | |- | ||
| [[VimPlugin: vim-yaml-folds]] || | | [[VimPlugin: vim-yaml-folds]] || | ||
|} | |} | ||
</blockquote><!-- Folds --> | </blockquote><!-- Folds --> | ||
Line 222: | Line 268: | ||
<blockquote> | <blockquote> | ||
{| class="wikitable" | {| class="wikitable" | ||
| [[talon]] || | | [[talon]] || | ||
|- | |- | ||
| F# plugin to control vim with speech || https://github.com/AshleyF/VimSpeak | | F# plugin to control vim with speech || https://github.com/AshleyF/VimSpeak |
Latest revision as of 23:34, 23 February 2024
Vim is extremely extensible, both using viml and python (if it is compiled into your version of vim). If you are looking for directions for creating your own plugins, See Writing Vim Plugins.
NOTE:
See vimrc for latest notes, plugins, and usage.
TODO:
organize these by vim vs neovim
Managing Plugins
Check if plugin is loaded
" check if a plugin is loaded if &rtp =~ 'vim-airline,' echo "vim-airline plugin is loaded" endifhttps://stackoverflow.com/questions/13710364/viml-checking-if-function-exists
Plugin Managers
VimPlugin: vim-plug asynchronous plugin manager VimPlugin: Vundle plugin manager
General
VimPlugin: Ale Language Agnostic Linter (lightweight) VimPlugin: vim bookmarks store bookmarks in codebase VimPlugin: Cscope Jump to Code (inverse of ctags) VimPlugin: Ctags Jump to Code VimPlugin: Drawit Draw ASCII diagrams VimPlugin: EasyMotion motions, without counting VimPlugin: Fugitive Git interface VimPlugin: fzf.vim search files VimPlugin: GitGutter marks each line in your git file based on if it is changed, added, removed from HEAD. VimPlugin: gitlink-vim yank commits, github-links to line VimPlugin: indentLine visual marks to show level of indentation VimPlugin: indent-blankline configurable indentation lines, and a highlighted scope indicator line VimPlugin: NERDTree File Manager VimPlugin: QFEnter open files from vim's quickfix window VimPlugin: Simplenote.vim Interact with Simplenote VimPlugin: Speech reads everything you type in a computerized voice (used while wisdom teeth were out) VimPlugin: surround Add/Change/Remove surrounding tags (ex. quotes, html-elements, ..) VimPlugin: Syntastic Language Agnostic Linter (heavy) VimPlugin: Tabular Automatically Align Indentation VimPlugin: TagBar Table Of Contents (requires ctags) VimPlugin: Vim-Signature Add and jump between marks within a file (in the sidebar) VimPlugin: vim-dispatch compile, run tests asynchronously from vim and integrate in quickfix VimPlugin: VimChat XMPP client VimPlugin: dbext execute SQL in vim buffer VimPlugin: eclim Integrate vim and eclipse VimPlugin: incsearch dynamic highlighting while you type in search VimPlugin: tabman overview of all tabs/splits, quickly jump to one VimPlugin: tComment Language agnostic shortcuts to quickly comment out large sections of text. VimPlugin: ultisnips insert snippets into source-files VimPlugin: vim-dasht show documentation, and autocomplete based on documentation VimPlugin: vim-diminactive dim inactive vim-splits VimPlugin: vim-gnupg read/write gpg encrypted files seamlessly (and securely) from vim VimPlugin: vim-ipython Run code within Ipython session from vim sourcecode VimPlugin: vim-maximizer toggle vim-split an fullscreen (like tmux) VimPlugin: vim-matchup highlight and jump between various language open/end syntax VimPlugin: vim-over dynamic highlighting/preview while you perform search/replaces VimPlugin: vim-snipmate viml snippets library VimPlugin: vim-superman coloured man-pages using vim VimPlugin: vim-taskwarrior taskwarrior interface within vim. much better than the official UI for it. VimPlugin: vim-test test runner for various languages VimPlugin: visual-increment multiline increment/deincrement numbers using ctrl+a/ctrl+x VimPlugin: orgmode.nvim neovim org mode plugin VimPlugin: vim-orgmode minimal org mode plugin for vim VimPlugin: org.vim minimal org mode plugin for vim VimPlugin: vim-table-mode spreadsheet like behaviour within vim VimPlugin: vim-localvimrc project-specific vimrc files VimPlugin: lightline lightweight powerline clone w/ api for hooking other plugin info NvimPlugin: telescope search various things, built overtop of fzf
Completion/LSP
VimPlugin: YouCompleteMe Code-Completion VimPlugin: deoplete very fast autocompleter VimPlugin: Coc.nvim intellisense for neovim (refactor-rename, autocomplete, goto, find-references, ....) VimPlugin: lsp neovim's builtin lsp VimPlugin: nvim-lspconfig configs for neovim's builtin lsp VimPlugin: nvim-lsp-installer installs lsp providers VimPlugin: mason install lsp providers VimPlugin: LanguageClient autocomplete for vim (refactor-rename, autocomplete, goto, find-references, ...) VimPlugin: vim-javacomplete2 fast autocompletion for java VimPlugin: nvim-treesitter autocomplete, syntax highlighting, much more VimPlugin: vim-go completion, debugging, builds, etc nvim plug: nvim-ufo syntax-highlighting within folds
Blogs/Tutorials lsp comparison 2019 https://bluz71.github.io/2019/10/16/lsp-in-vim-with-the-lsc-plugin.html
Language Specific
VIML
vader unittesting library for vim covimerage produces coverage.xml files from vader.vim Python
VimPlugin: RopeVim python refactoring VimPlugin: vim-pyunit view/run/toggle python unittests VimPlugin: python-mode MetaPackage, several of the most popular python extensions for vim VimPlugin: SimpylFold syntax based folding for python Ruby/Rails
VimPlugin: vim-rails syntax highlighting, and some functions Java
VimPlugin: vim-maven-plugin Interact with maven from vim LaTex
VimPlugin: vimtex Latex editor, previews
Syntax Highlighting
VimPlugin: Markdown-Syntax VimPlugin: vim-cpp-enhanced-highlight VimPlugin: vim-ledger VimPlugin: typescript-vim VimPlugin: vim-nix VimPlugin: vim-tsx VimPlugin: vim-graphql VimPlugin: nvim-treesitter autocomplete, syntax highlighting, much more VimPlugin: python-syntax VimPlugin: salt-vim syntax highlighting for saltstack .sls files VimPlugin: nginx.vim syntax highlighting for nginx files VimPlugin: vim-ps1 powershell syntax highlighting for vim
Folds
VimPlugin: FastFold VimPlugin: vim-yaml-folds
Speech Coding
talon F# plugin to control vim with speech https://github.com/AshleyF/VimSpeak voicecode plugin for vim https://github.com/VoiceCode/vim