1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-11-14 16:42:46 +01:00
IntelliJ-IdeaVim/doc/Emulated-plugins.md
2021-12-01 09:47:23 +03:00

8.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:

Plug '<extension-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 extensions:

easymotion

NERDTree

  • Setup: Plug 'preservim/nerdtree'
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/preservim/nerdtree'
      Plug 'nerdtree'
      set NERDTree
  • Emulates NERDTree
  • Commands: see here

surround

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

multiple-cursors

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

commentary

  • Setup: Plug 'tpope/vim-commentary'
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/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'
      set commentary
  • Emulates commentary.vim
  • Commands: gcc, gc + motion, v_gc
  • By Daniel Leong

ReplaceWithRegister

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

argtextobj

  • Setup:
    • Plug 'vim-scripts/argtextobj.vim'
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/vim-scripts/argtextobj.vim'
      Plug 'argtextobj.vim'
      Plug 'https://www.vim.org/scripts/script.php?script_id=2699'
      set argtextobj
    • 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: Plug 'tommcdo/vim-exchange'
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/tommcdo/vim-exchange'
      Plug 'vim-exchange'
      set exchange
  • Emulates vim-exchange
  • Commands: cx, cxx, X, cxc
  • By fan-tom

textobj-entire

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

highlightedyank

  • Setup:
    • Plug 'machakann/vim-highlightedyank'
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/machakann/vim-highlightedyank'
      Plug 'vim-highlightedyank'
      set 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

vim-paragraph-motion

  • Setup: Plug 'dbakker/vim-paragraph-motion'
    • Alternative vim-plug / vundle syntax 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
  • Emulates vim-paragraph-motion

vim-indent-object

  • Setup: Plug 'michaeljsmith/vim-indent-object'
    • Alternative vim-plug / vundle syntax Plug 'https://github.com/michaeljsmith/vim-indent-object'
      Plug 'vim-indent-object'
      set textobj-indent
  • Emulates vim-indent-object
  • Additional text objects: ai, ii, aI
  • By Shrikant Sharat Kandula

matchit.vim

  • Setup: packadd matchit
    • Alternative vim-plug / vundle syntax Plug 'vim-matchit'
      Plug 'chrisbra/matchit'
      set matchit
  • Emulates matchit.vim
  • Currently works for HTML/XML and ruby
  • By Martin Yzeiri