12 KiB
IdeaVim Plugins
IdeaVim plugins work like the original Vim plugins. If you want to turn any of them on, you have to enable it via this command in your ~/.ideavimrc
:
Plug '<plugin-github-reference>'
If you reuse your existing .vimrc
file using source ~/.vimrc
, IdeaVim can parse and enable plugins that are defined
using vim-plug or vundle.
No additional set commands in ~/.ideavimrc
are required.
If you'd like to disable some plugin that's enabled in .vimrc
, you can use set no<extension-name>
in ~/.ideavimrc
. E.g. set nosurround
.
Available plugins:
easymotion
Original plugin: vim-easymotion.
Setup:
- Install IdeaVim-EasyMotion and AceJump plugins.
- Add the following command to
~/.ideavimrc
:Plug 'easymotion/vim-easymotion'
Alternative syntax
Plugin 'easymotion/vim-easymotion'
Plug 'https://github.com/easymotion/vim-easymotion'
Plug 'vim-easymotion'
set easymotion
Instructions
All commands with the mappings are supported. See the full list of supported commands.
sneak
Original plugin: vim-sneak.
Setup:
- Install IdeaVim-sneak plugin.
- Add the following command to
~/.ideavimrc
:set sneak
Instructions
See the docs
NERDTree
Original plugin: NERDTree.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'preservim/nerdtree'
Alternative syntax
Plugin 'preservim/nerdtree'
Plug 'https://github.com/preservim/nerdtree'
Plug 'nerdtree'
set NERDTree
Instructions
surround
Original plugin: vim-surround.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'tpope/vim-surround'
Alternative syntax
Plugin 'tpope/vim-surround'
Plug 'https://www.vim.org/scripts/script.php?script_id=1697'
Plug 'vim-surround'
set surround
Instructions
https://github.com/tpope/vim-surround/blob/master/doc/surround.txt
multiple-cursors
Original plugin: vim-multiple-cursors.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'terryma/vim-multiple-cursors'
Alternative syntax
Plugin 'terryma/vim-multiple-cursors'
Plug 'https://github.com/terryma/vim-multiple-cursors'
Plug 'vim-multiple-cursors'
set multiple-cursors
Instructions
https://github.com/terryma/vim-multiple-cursors/blob/master/doc/multiple_cursors.txt
commentary
By Daniel Leong
Original plugin: commentary.vim.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'tpope/vim-commentary'
Alternative syntax
Plugin 'tpope/vim-commentary'
Plug 'https://github.com/tpope/vim-commentary'
Plug 'vim-commentary'
Plug 'tcomment_vim'
set commentary
Instructions
https://github.com/tpope/vim-commentary/blob/master/doc/commentary.txt
ReplaceWithRegister
By igrekster
Original plugin: ReplaceWithRegister.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'vim-scripts/ReplaceWithRegister'
Alternative syntax
Plugin 'vim-scripts/ReplaceWithRegister'
Plug 'ReplaceWithRegister'
Plug 'https://github.com/inkarkat/vim-ReplaceWithRegister'
Plug 'inkarkat/vim-ReplaceWithRegister'
Plug 'vim-ReplaceWithRegister'
Plug 'https://www.vim.org/scripts/script.php?script_id=2703'
set ReplaceWithRegister
Instructions
https://github.com/vim-scripts/ReplaceWithRegister/blob/master/doc/ReplaceWithRegister.txt
argtextobj
Original plugin: argtextobj.vim.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'vim-scripts/argtextobj.vim'
Alternative syntax
Plugin 'vim-scripts/argtextobj.vim'
Plug 'https://github.com/vim-scripts/argtextobj.vim'
Plug 'argtextobj.vim'
Plug 'https://www.vim.org/scripts/script.php?script_id=2699'
set argtextobj
Instructions
By default, only the arguments inside parenthesis are considered. To extend the functionality
to other types of brackets, set g:argtextobj_pairs
variable to a comma-separated
list of colon-separated pairs (same as VIM's matchpairs
option), like
let g:argtextobj_pairs="(:),{:},<:>"
. The order of pairs matters when
handling symbols that can also be operators: func(x << 5, 20) >> 17
. To handle
this syntax parenthesis, must come before angle brackets in the list.
exchange
By fan-tom
Original plugin: vim-exchange.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'tommcdo/vim-exchange'
Alternative syntax
Plugin 'tommcdo/vim-exchange'
Plug 'https://github.com/tommcdo/vim-exchange'
Plug 'vim-exchange'
set exchange
Instructions
https://github.com/tommcdo/vim-exchange/blob/master/doc/exchange.txt
textobj-entire
By Alexandre Grison
Original plugin: vim-textobj-entire.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'kana/vim-textobj-entire'
Alternative syntax
Plugin 'kana/vim-textobj-entire'
Plug 'vim-textobj-entire'
Plug 'https://www.vim.org/scripts/script.php?script_id=2610'
set textobj-entire
Instructions
https://github.com/kana/vim-textobj-entire/blob/master/doc/textobj-entire.txt
highlightedyank
By KostkaBrukowa
Original plugin: vim-highlightedyank.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'machakann/vim-highlightedyank'
Alternative syntax
Plugin 'machakann/vim-highlightedyank'
Plug 'https://github.com/machakann/vim-highlightedyank'
Plug 'vim-highlightedyank'
set highlightedyank
Instructions
If you want to optimize highlight duration, assign a time in milliseconds:
let g:highlightedyank_highlight_duration = "1000"
A negative number makes the highlight persistent.
If you want to change background color of highlight you can provide the rgba of the color you want e.g.
let g:highlightedyank_highlight_color = "rgba(160, 160, 160, 155)"
https://github.com/machakann/vim-highlightedyank/blob/master/doc/highlightedyank.txt
vim-paragraph-motion
Original plugin: vim-paragraph-motion.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'dbakker/vim-paragraph-motion'
Alternative syntax
Plugin 'dbakker/vim-paragraph-motion'
Plug 'https://github.com/dbakker/vim-paragraph-motion'
Plug 'vim-paragraph-motion'
Plug 'https://github.com/vim-scripts/Improved-paragraph-motion'
Plug 'vim-scripts/Improved-paragraph-motion'
Plug 'Improved-paragraph-motion'
set vim-paragraph-motion
Instructions
https://github.com/dbakker/vim-paragraph-motion#vim-paragraph-motion
vim-indent-object
By Shrikant Sharat Kandula
Original plugin: vim-indent-object.
Setup:
- Add the following command to
~/.ideavimrc
:Plug 'michaeljsmith/vim-indent-object'
Alternative syntax
Plugin 'michaeljsmith/vim-indent-object'
Plug 'https://github.com/michaeljsmith/vim-indent-object'
Plug 'vim-indent-object'
set textobj-indent
Instructions
https://github.com/michaeljsmith/vim-indent-object/blob/master/doc/indent-object.txt
matchit.vim
By Martin Yzeiri Original plugin: matchit.vim.
Setup:
- Add the following command to
~/.ideavimrc
:packadd matchit
Alternative syntax
Plug 'vim-matchit'
Plug 'chrisbra/matchit'
set matchit
Instructions
https://github.com/adelarsq/vim-matchit/blob/master/doc/matchit.txt
IdeaVim-Quickscope
Original plugin: quick-scope.
Setup:
- Install IdeaVim-Quickscope plugin.
- Add the following command to
~/.ideavimrc
:set quickscope
Instructions
https://plugins.jetbrains.com/plugin/19417-ideavim-quickscope