About this project

IdeaVim is an official JetBrains plugin that brings a Vim engine into JetBrains IDEs such as IntelliJ IDEA, PyCharm, GoLand, CLion, PhpStorm, WebStorm, RubyMine, DataGrip, DataSpell, Rider, Cursive, and Android Studio. It supports core Vim modes (normal, insert, visual, select), motions, deletion/change/window commands, key mappings, marks, macros, digraphs, registers, search with full Vim regexps, and a subset of `set` commands. Users can configure it via a `~/.ideavimrc` file (analogous to `~/.vimrc`), with XDG standard support and a custom path via the `IDEA_VIM_CUSTOM_VIMRC` environment variable. IdeaVim also supports Vim script execution (including some builtin functions), autocmd events (e.g., InsertEnter, BufWritePre, FileType), and plugins like surround, multiple-cursors, commentary, easymotion, and argtextobj. A notable feature is the ability to map keys to arbitrary IDE actions using `<Action>({action_id})` or the `:action` Ex command, with `:actionlist` to discover action IDs. IDE-specific options can be detected via `has('ide')` and `&ide`. The plugin is available on the JetBrains Marketplace, with an Early Access Program for preview builds. It is licensed under MIT (releases before 2.0.0 were GPL-2.0).