1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-11-24 14:42:44 +01:00
IntelliJ-IdeaVim/doc/emulated-plugins.md
2021-01-20 03:07:12 +03:00

6.9 KiB

Emulated Vim Plugins

IdeaVim extensions emulate plugins of the original Vim. In order to use IdeaVim extensions, you have to enable them via this command in your ~/.ideavimrc:

set <extension-name>

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.

Available extensions:

easymotion

surround

  • Setup: set surround
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/tpope/vim-surround'
      Plug 'tpope/vim-surround'
      Plug 'vim-surround'
      Plug 'https://www.vim.org/scripts/script.php?script_id=1697'
  • Emulates vim-surround
  • Commands: ys, cs, ds, S

multiple-cursors

  • Setup: set multiple-cursors
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/terryma/vim-multiple-cursors'
      Plug 'terryma/vim-multiple-cursors'
      Plug 'vim-multiple-cursors'
  • Emulates vim-multiple-cursors
  • Commands: <A-n>, <A-x>, <A-p>, g<A-n>

commentary

  • Setup: set commentary
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/tpope/vim-commentary'
      Plug 'tpope/vim-commentary'
      Plug 'vim-commentary'
      Plug 'https://www.vim.org/scripts/script.php?script_id=3695'
      Plug 'tomtom/tcomment_vim'
      Plug 'tcomment_vim'
      Plug 'https://www.vim.org/scripts/script.php?script_id=1173'
  • Emulates commentary.vim
  • Commands: gcc, gc + motion, v_gc
  • By Daniel Leong

ReplaceWithRegister

  • Setup: set ReplaceWithRegister
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/vim-scripts/ReplaceWithRegister'
      Plug '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'
  • Emulates ReplaceWithRegister
  • Commands: gr, grr
  • By igrekster

argtextobj

  • Setup:
    • set argtextobj
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/vim-scripts/argtextobj.vim'
      Plug 'vim-scripts/argtextobj.vim'
      Plug 'argtextobj.vim'
      Plug 'https://www.vim.org/scripts/script.php?script_id=2699'
    • 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.
  • Emulates argtextobj.vim
  • Additional text objects: aa, ia

exchange

  • Setup: set exchange
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/tommcdo/vim-exchange'
      Plug 'tommcdo/vim-exchange'
      Plug 'vim-exchange'
  • Emulates vim-exchange
  • Commands: cx, cxx, X, cxc
  • By fan-tom

textobj-entire

  • Setup: set textobj-entire
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/kana/vim-textobj-entire'
      Plug 'kana/vim-textobj-entire'
      Plug 'vim-textobj-entire'
      Plug 'https://www.vim.org/scripts/script.php?script_id=2610'
  • Emulates vim-textobj-entire
  • Additional text objects: ae, ie
  • By Alexandre Grison

highlightedyank

  • Setup:
    • set highlightedyank
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/machakann/vim-highlightedyank'
      Plug 'machakann/vim-highlightedyank'
      Plug 'vim-highlightedyank'
    • 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.
      let g:highlightedyank_highlight_duration = "-1"
    • 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)"
  • Emulates vim-highlightedyank
  • By KostkaBrukowa