Created
June 3, 2026 11:04
-
-
Save Stef16Robbe/4d017ab1513fbb3cc6f66e3c492c8b39 to your computer and use it in GitHub Desktop.
helix-ish keybindings for ideavim
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| " .ideavimrc - Helix-Optimized Environment for JetBrains Editors | |
| " Maintained with standard IdeaVim action syntax for modern IntelliJ versions | |
| "" ======================================================== | |
| "" 1. Base Editor Settings | |
| "" ======================================================== | |
| set scrolloff=10 | |
| set history=1000 | |
| "set number relativenumber | |
| set showmode | |
| set showcmd | |
| set smartcase | |
| set incsearch | |
| set hlsearch | |
| set visualbell | |
| set gdefault | |
| " System Clipboard Integration | |
| set clipboard+=unnamed | |
| " Leader Key Definition (Helix Space Menu) | |
| let mapleader="\<space>" | |
| "" ======================================================== | |
| "" 2. IdeaVim Native Enhancements | |
| "" ======================================================== | |
| set ideajoin | |
| set ideamarks | |
| set idearefactormode=keep | |
| set ideastatusicon=gray | |
| "" ======================================================== | |
| "" 3. Emulated Vim Plugins | |
| "" ======================================================== | |
| set commentary | |
| set surround | |
| set nerdtree | |
| " Highlighting Extensions (Requires "IdeaVim-Quickscope" from Marketplace) | |
| set highlightedyank | |
| set quickscope | |
| let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] | |
| " Structural Text Objects | |
| set textobj-entire | |
| set argtextobj | |
| let g:argtextobj_pairs="[:],(:),<:>" | |
| Plug 'michaeljsmith/vim-indent-object' | |
| " Interactive Visual Popup Menu (Requires "Which-Key" from Marketplace) | |
| # set which-key | |
| # set notimeout | |
| # let g:WhichKey_FontSize = 15 | |
| # let g:WhichKey_PrefixColor = "#a403fe" | |
| # let g:WhichKey_CommandColor = "#a403fe" | |
| # let g:WhichKey_PrefixStyle = "bold" | |
| # let g:WhichKey_KeyStyle = "italic" | |
| # let g:WhichKey_SortOrder = "by_key_prefix_first" | |
| # let g:WhichKey_ShowTypedSequence = "false" | |
| "" ======================================================== | |
| "" 4. Key Mappings (Helix Emulation) | |
| "" ======================================================== | |
| " --- File & Tab Navigation --- | |
| nmap gp <Action>(PreviousTab) | |
| nmap gn <Action>(NextTab) | |
| nmap ge G | |
| vmap ge G | |
| nmap gh gg | |
| vmap gh gg | |
| " --- Code Navigation & AST References --- | |
| nmap gd <Action>(GotoDeclaration) | |
| nmap gr <Action>(FindUsages) | |
| nmap gi <Action>(GotoImplementation) | |
| " --- Horizontal Line Navigation --- | |
| nmap gl $ | |
| nmap gs ^ | |
| vmap gl $ | |
| vmap gs ^ | |
| " --- Time Travel (Undo/Redo) --- | |
| nmap u u | |
| nmap U <C-r> | |
| " --- Search Clean Up --- | |
| nmap <Esc> :noh<CR> | |
| " --- Structural Editing & Comments --- | |
| nmap <C-c> <Plug>CommentaryLine | |
| vmap <C-c> <Plug>Commentary | |
| " --- Helix-Style Space Menus --- | |
| nmap <leader>k <Action>(QuickJavaDoc) | |
| nmap <leader>r <Action>(RenameElement) | |
| nmap <leader>f <Action>(SearchEverywhere) | |
| nmap <leader>/ <Action>(FindInPath) | |
| nmap <leader>a <Action>(ShowIntentionActions) | |
| vmap <leader>a <Action>(ShowIntentionActions) | |
| " --- Multi-Cursor & Symbols Selection --- | |
| " Search Symbol in active file (Normal Mode) | |
| nmap <leader>s <Action>(FileStructurePopup) | |
| " TODO: this doesn't work, still interprets commands like c or d | |
| " Filter patterns inside visual selection (Visual Mode) | |
| vmap <leader>s <Action>(SelectAllOccurrences) | |
| " --- Continuous Indentation (Helix Style) --- | |
| " Keep text selected after shaking left/right with > and < | |
| vnoremap > >gv | |
| vnoremap < <gv |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment