1
0
Fork 0
IntelliJ-IdeaVim/doc/IdeaVim Plugins.md

12 KiB

IdeaVim Plugins

IdeaVim plugins work like the original Vim plugins. If you want to turn of any of them, 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

See here.

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.

https://www.vim.org/scripts/script.php?script_id=2699

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-sneak plugin.
  • Add the following command to ~/.ideavimrc: set quickscope

Instructions

https://plugins.jetbrains.com/plugin/19417-ideavim-quickscope