https://github.com/cufarvid/lazy-idea
LazyVim key mappings for JetBrains IDEs. Making IdeaVim feel like home.
https://github.com/cufarvid/lazy-idea
ideavim jetbrains keymaps lazyvim neovim vim vim-keybindings
Last synced: 6 months ago
JSON representation
LazyVim key mappings for JetBrains IDEs. Making IdeaVim feel like home.
- Host: GitHub
- URL: https://github.com/cufarvid/lazy-idea
- Owner: cufarvid
- License: other
- Created: 2025-01-27T10:08:00.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-04-03T13:25:09.000Z (6 months ago)
- Last Synced: 2025-04-12T05:52:53.132Z (6 months ago)
- Topics: ideavim, jetbrains, keymaps, lazyvim, neovim, vim, vim-keybindings
- Language: Vim Script
- Homepage:
- Size: 44.9 KB
- Stars: 53
- Watchers: 3
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lazy-idea
[LazyVim](https://github.com/LazyVim/LazyVim) key mappings for JetBrains IDEs. Making [IdeaVim](https://github.com/JetBrains/ideavim) feel like home.
## Prerequisites
Required plugins from the [JetBrains Marketplace](https://plugins.jetbrains.com):
- [IdeaVim](https://github.com/JetBrains/ideavim)
- [Which-Key](https://github.com/TheBlob42/idea-which-key)
- [EasyMotion](https://github.com/AlexPl292/IdeaVim-EasyMotion)## Installation
1. Download the `.ideavimrc` file from this repository to your home directory:
```bash
# Unix/Linux/macOS
curl -Lo ~/.ideavimrc https://raw.githubusercontent.com/cufarvid/lazy-idea/refs/heads/main/.ideavimrc# Windows
Invoke-WebRequest -OutFile "$HOME/.ideavimrc" -Uri https://raw.githubusercontent.com/cufarvid/lazy-idea/refs/heads/main/.ideavimrc
```2. Restart your JetBrains IDE
## Configuration Notes
### TODO Navigation
The TODO navigation keymaps (`st`, `xt`) use IDEA's built-in TODO tool window.
**Note:** To support additional patterns beyond `TODO` (like `FIX` or `PERF`), configure them in `Settings → Editor → TODO → Patterns`.
## Development
### Notes and Caveats
- Not all mappings have been thoroughly tested
- Potential ctrl key conflicts: 6, b, e, f, h, j, k, l, o, r, s, v, w
- See [IdeaVim sethandler documentation](https://github.com/JetBrains/ideavim/blob/master/doc/sethandler.md)### Roadmap
- [x] Improve Todo comments functionality
- [ ] Add Which-Key labels for all mappings
- [ ] Test all mappings side-by-side with LazyVim
- [ ] Compare Which-Key popups with LazyVim### Future Considerations
Potential integrations with LazyVim features:
- Flash
- Noice
- Trouble
- Mini.diff
- Harpoon
- Outline
- Markdown Preview## Issues and Limitations
- Local leader key mappings are not currently supported by IdeaVim
- Some LazyVim features don't have direct equivalents in JetBrains IDEs## Credits
- [Original gist](https://gist.github.com/mikeslattery/d2f2562e5bbaa7ef036cf9f5a13deff5) by [@mikeslattery](https://github.com/mikeslattery)
- [LazyVim](https://github.com/LazyVim/LazyVim) by [@folke](https://github.com/folke)