Sobre o projeto

IdeaVim é um plugin oficial da JetBrains que traz um mecanismo Vim para IDEs JetBrains como IntelliJ IDEA, PyCharm, GoLand, CLion, PhpStorm, WebStorm, RubyMine, DataGrip, DataSpell, Rider, Cursive e Android Studio. Ele suporta os modos principais do Vim (normal, inserção, visual, seleção), movimentos, comandos de exclusão/alteração/janela, mapeamentos de teclas, marcas, macros, dígrafos, registradores, busca com regexps completas do Vim e um subconjunto de comandos `set`. Os usuários podem configurá-lo por meio de um arquivo `~/.ideavimrc` (análogo ao `~/.vimrc`), com suporte ao padrão XDG e um caminho personalizado via variável de ambiente `IDEA_VIM_CUSTOM_VIMRC`. O IdeaVim também suporta execução de Vim script (incluindo algumas funções internas), eventos autocmd (por exemplo, InsertEnter, BufWritePre, FileType) e plugins como surround, multiple-cursors, commentary, easymotion e argtextobj. Um recurso notável é a capacidade de mapear teclas para ações arbitrárias da IDE usando `<Action>({action_id})` ou o comando Ex `:action`, com `:actionlist` para descobrir IDs de ações. Opções específicas da IDE podem ser detectadas via `has('ide')` e `&ide`. O plugin está disponível no JetBrains Marketplace, com um Early Access Program para builds de pré-visualização. Ele é licenciado sob MIT (versões anteriores à 2.0.0 eram GPL-2.0).