mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2025-08-18 19:24:55 +02:00
.github
.idea
.teamcity
assets
config
doc
images
Emulated-plugins.md
Home.md
NERDTree-support.md
Select-mode.md
ideajoin-examples.md
set-commands.md
sethandler.md
gradle
src
vim-engine
vimscript-info
.editorconfig
.gitignore
AUTHORS.md
CHANGES.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.txt
README.md
build.gradle.kts
gradle.properties
gradlew
gradlew.bat
qodana.yaml
settings.gradle
8.9 KiB
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
- Setup:
- Install IdeaVim-EasyMotion and AceJump plugins.
Plug 'easymotion/vim-easymotion'
-
Alternative syntax
Plug 'https://github.com/easymotion/vim-easymotion'
Plug 'vim-easymotion'
set easymotion
- Emulates vim-easymotion
- Commands: All commands with the mappings are supported. See the full list of supported commands.
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'smatchpairs
option), likelet 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