1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-11-25 07:42:59 +01:00
IntelliJ-IdeaVim/doc/IdeaVim Plugins.md
Alex Plate aae0d825e7
Move the ideavim-sneak plugin into IdeaVim
The author of the original plugin announced the deprecation of the plugin.
However, we've got an approval to move the sources into IdeaVim and continue the development.

Original repo: https://github.com/Mishkun/ideavim-sneak
Approval: https://twitter.com/ideavim/status/1754512214344478939
2024-02-05 19:28:36 +02:00

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

icon

By Mikhail Levchenko
Original repository with the plugin: https://github.com/Mishkun/ideavim-sneak
Original plugin: vim-sneak.

Setup:

  • Add the following command to ~/.ideavimrc: Plug 'justinmk/vim-sneak'

Instructions

  • Type s and two chars to start sneaking in forward direction
  • Type S and two chars to start sneaking in backward direction
  • Type ; or , to proceed with sneaking just as if you were using f or t commands

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

Instructions

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

Which-Key

Original plugin: vim-which-key.

Setup:

  • Install Which-Key plugin.
  • Add the following command to ~/.ideavimrc: set which-key

Instructions

https://github.com/TheBlob42/idea-which-key?tab=readme-ov-file#installation