-
Star
(125)
You must be signed in to star a gist -
Fork
(19)
You must be signed in to fork a gist
-
-
Save mikeslattery/d2f2562e5bbaa7ef036cf9f5a13deff5 to your computer and use it in GitHub Desktop.
| " ~/.idea-lazy.vim | |
| " LazyVim mappings for Jetbrains IDEs | |
| " Required plugins. https://plugins.jetbrains.com/bundles/7-ideavim-bundle | |
| " IDEAVim | |
| " Which-Key | |
| " IdeaVim-Sneak | |
| " To install, add this to the top of your ~/.ideavimrc: | |
| " source ~/.idea-lazy.vim | |
| " This file is hosted at: | |
| " https://gist.github.com/mikeslattery/d2f2562e5bbaa7ef036cf9f5a13deff5 | |
| " Beginners, run this to learn basic maps: | |
| " nvim --clean +Tutor | |
| " Useful Jetbrains Tool Windows' Maps: | |
| " <esc> Return to editor | |
| " <S-esc> Hide the tool window | |
| " <F12> Go to the tool window | |
| " <C-S-quote> Toggle Maximize/Restore the tool window | |
| " <C-M-y> Reload files. Useful after making edits in Neovim or CL | |
| " <M-left> Previous Tab | |
| " <M-right> Next Tab | |
| " <C-F4> Close Tab | |
| " <M-3> Activate Find Tool Window | |
| " <M-6> Activate Problems View Tool Window | |
| " <c-s-a> Find Action | |
| " LazyVim's Java extra: https://www.lazyvim.org/extras/lang/java | |
| " LazyVim default settings | |
| " https://www.lazyvim.org/configuration/general | |
| let mapleader=" " | |
| let maplocalleader="\\" | |
| " Confirm to save changes before exiting modified buffer | |
| set formatoptions=jcroqlnt | |
| " Print line number | |
| set number | |
| " Relative line numbers | |
| set relativenumber | |
| " Lines of context | |
| set scrolloff=4 | |
| " Round indent | |
| set shiftround | |
| " Columns of context | |
| set sidescrolloff=8 | |
| " which-key says to set this high, or set notimeout | |
| set timeoutlen=10000 | |
| set notimeout | |
| set undolevels=10000 | |
| " Disable line wrap | |
| set nowrap | |
| " Neovim settings that differ from Vim | |
| " https://neovim.io/doc/user/diff.html | |
| " https://github.com/mikeslattery/nvim-defaults.vim/blob/main/plugin/.vimrc | |
| set backspace=indent,eol,start | |
| set formatoptions=tcqj | |
| set listchars=tab:>\ ,trail:-,nbsp:+ | |
| set shortmess=filnxtToOF | |
| " Enable plugin behavior | |
| " https://github.com/JetBrains/ideavim/wiki/IdeaVim-Plugins | |
| " https://www.lazyvim.org/plugins | |
| " gcc and gc<action> mappings. | |
| Plug 'tpope/vim-commentary' | |
| " s action, such as cs"' (replace " with '), ds" (unquote) | |
| Plug 'tpope/vim-surround' | |
| " similar to flash.nvim | |
| Plug 'justinmk/vim-sneak' | |
| " Enable the whichkey plugin, available on Jetbrains marketplace | |
| set which-key | |
| " Extended matching. A Neovim default plugin. | |
| set matchit | |
| " Key maps | |
| " https://www.lazyvim.org/configuration/keymaps | |
| " To track Action-IDs | |
| " :action VimFindActionIdAction | |
| " General Keymaps | |
| " Go to Left Window | |
| nmap <C-h> <C-w>h | |
| " Go to Lower Window | |
| nmap <C-j> <C-w>j | |
| " Go to Upper Window | |
| nmap <C-k> <C-w>k | |
| " Go to Right Window | |
| nmap <C-l> <C-w>l | |
| " Increase Window Height | |
| nmap <C-Up> <Action>(IncrementWindowHeight) | |
| " Decrease Window Height | |
| nmap <C-Down> <Action>(DecrementWindowHeight) | |
| " Decrease Window Width | |
| nmap <C-Left> <Action>(DecrementWindowWidth) | |
| " Increase Window Width | |
| nmap <C-Right> <Action>(IncrementWindowWidth) | |
| " Move Down | |
| nmap <A-j> <Action>(MoveLineDown) | |
| imap <A-j> <Esc><Action>(MoveLineDown)i | |
| " Move Up | |
| nmap <A-k> <Action>(MoveLineUp) | |
| imap <A-k> <Esc><Action>(MoveLineUp)i | |
| " Prev Buffer | |
| nmap <S-h> <Action>(PreviousTab) | |
| " Next Buffer | |
| nmap <S-l> <Action>(NextTab) | |
| " Prev Buffer (alternative) | |
| nmap [b <Action>(PreviousTab) | |
| " Next Buffer (alternative) | |
| nmap ]b <Action>(NextTab) | |
| " Switch to Other Buffer | |
| nnoremap <leader>bb <C-^> | |
| " Switch to Other Buffer (alternative) | |
| nnoremap <leader>` <C-^> | |
| " Delete Buffer | |
| nmap <leader>bd <Action>(CloseContent) | |
| " Delete Buffer and Window | |
| nmap <leader>bD <Action>(CloseContent) | |
| " Delete Other Buffers | |
| nmap <leader>bo <Action>(CloseAllEditorsButActive) | |
| " Escape and Clear hlsearch | |
| nmap <esc> :nohlsearch<CR> | |
| nmap <leader>ur :nohlsearch<CR> | |
| " Keywordprg | |
| nmap <leader>K :help<space><C-r><C-w><CR> | |
| " Add Comment Below | |
| nmap gco o<c-o>gcc | |
| " Add Comment Above | |
| nmap gcO O<c-o>gcc | |
| " Lazy | |
| nmap <leader>l <Action>(WelcomeScreen.Plugins) | |
| " New File | |
| nmap <leader>fn Action(NewElementSamePlace) | |
| " Location List | |
| nmap <leader>xl <Action>(ActivateProblemsViewToolWindow) | |
| " Quickfix List | |
| nmap <leader>xq <Action>(ActivateProblemsViewToolWindow) | |
| " Previous Quickfix | |
| nmap [q <Action>(GotoPreviousError) | |
| " Next Quickfix | |
| nmap ]q <Action>(GotoNextError) | |
| " Format | |
| nmap <leader>cf <Action>(Format) | |
| vmap <leader>cf <Action>(Format) | |
| " Line Diagnostics | |
| nmap <leader>cd <Action>(ActivateProblemsViewToolWindow) | |
| " Next Diagnostic | |
| nmap ]d <Action>(GotoNextError) | |
| " Prev Diagnostic | |
| nmap [d <Action>(GotoPreviousError) | |
| " Next Error | |
| nmap ]e <Action>(GotoNextError) | |
| " Prev Error | |
| nmap [e <Action>(GotoPreviousError) | |
| " Next Warning | |
| nmap ]w <Action>(GotoNextError) | |
| " Prev Warning | |
| nmap [w <Action>(GotoPreviousError) | |
| " Toggle Auto Format (Global) | |
| nmap <leader>ub :echo 'There is no equivalent mapping for Toggle Auto Format.'<cr> | |
| " Toggle Auto Format (Buffer) | |
| nmap <leader>uB :echo 'There is no equivalent mapping for Toggle Auto Format.'<cr> | |
| " Toggle Spelling | |
| nmap <leader>us :setlocal spell!<CR> | |
| " Toggle Wrap | |
| nmap <leader>uw :setlocal wrap!<CR> | |
| " Toggle Relative Number | |
| nmap <leader>uL :set relativenumber!<CR> | |
| " Toggle Diagnostics | |
| nmap <leader>ud <Action>(ActivateProblemsViewToolWindow) | |
| " Toggle Line Numbers | |
| nmap <leader>ul :set number!<CR> | |
| " Toggle conceallevel | |
| nmap <leader>uc :echo 'There is no equivalent mapping for Toggle Conceallevel.'<cr> | |
| " Toggle Treesitter Highlight | |
| nmap <leader>uT :echo 'There is no equivalent mapping for Toggle Treesitter Highlight.'<cr> | |
| " Toggle Background | |
| nmap <leader>ub <Action>(QuickChangeScheme) | |
| " Toggle Inlay Hints | |
| nmap <leader>uh :echo 'There is no equivalent mapping for Toggle Inlay Hints.'<cr> | |
| " Lazygit (Root Dir) | |
| nmap <leader>gg <Action>(ActivateCommitToolWindow) | |
| " Lazygit (cwd) | |
| nmap <leader>gG <Action>(ActivateCommitToolWindow) | |
| " Git Blame Line | |
| nmap <leader>gb <Action>(Annotate) | |
| " Git Browse | |
| nmap <leader>gB <Action>(Vcs.Show.Log) | |
| " Lazygit Current File History | |
| nmap <leader>gf <Action>(Vcs.ShowTabbedFileHistory) | |
| " Lazygit Log | |
| nmap <leader>gl <Action>(Vcs.Show.Log) | |
| " Lazygit Log (cwd) | |
| nmap <leader>gL <Action>(Vcs.Show.Log) | |
| " Quit All | |
| nmap <leader>qq <Action>(Exit) | |
| " Inspect Pos | |
| nmap <leader>ui <Actrion>(ActivateStructureToolWindow) | |
| " Inspect Tree | |
| nmap <leader>uI <Action>(ActivateStructureToolWindow) | |
| " LazyVim Changelog | |
| nmap <leader>L <Action>(WhatsNewAction) | |
| " Terminal (Root Dir) | |
| nmap <leader>ft <Action>(ActivateTerminalToolWindow) | |
| " Terminal (cwd) | |
| nmap <leader>fT <Action>(ActivateTerminalToolWindow) | |
| " Terminal (Root Dir) | |
| nmap <C-/> <Action>(ActivateTerminalToolWindow) | |
| " nmap <C-_> 'There is no equivalent mapping for <c-_>.'<cr> | |
| " Hide Terminal - terminal mode maps not possible | |
| " Split Window Below. :split<cr> doesn't work. | |
| nmap <leader>- <c-w>s | |
| " Split Window Right | |
| nmap <leader><bar> <c-w>v | |
| " Delete Window | |
| nmap <leader>wd <Action>(CloseContent) | |
| " Toggle Maximize | |
| nmap <leader>wm <Action>(ToggleDistractionFreeMode) | |
| " Tabs are treated as saved layouts | |
| " Last Tab | |
| nmap <leader><tab>l <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout) | |
| " Close Other Tabs | |
| nmap <leader><tab>o :<cr> | |
| " First Tab | |
| nmap <leader><tab>f <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout) | |
| " New Tab | |
| nmap <leader><tab>f <Action>(StoreDefaultLayout)<Action>(StoreNewLayout) | |
| " Next Tab | |
| nmap <leader><tab>] <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout) | |
| " Previous Tab | |
| nmap <leader><tab>[ <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout) | |
| " Close Tab | |
| nmap <leader><tab>f <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout) | |
| " LSP Keymaps | |
| " Lsp Info | |
| nmap <leader>cc :echo 'There is no equivalent mapping for Lsp Info.'<cr> | |
| " Goto Definition | |
| nmap gd <Action>(GotoDeclaration) | |
| """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
| " References | |
| nmap gr <Action>(FindUsages) | |
| " Goto Implementation | |
| nmap gI <Action>(GotoImplementation) | |
| " Goto Type Definition | |
| nmap gy <Action>(GotoTypeDeclaration) | |
| " Goto Declaration | |
| nmap gD <Action>(GotoDeclaration) | |
| " Signature Help | |
| nmap gK <Action>(ParameterInfo) | |
| " Signature Help in Insert Mode | |
| imap <C-k> <C-o><Action>(ParameterInfo) | |
| " Code Action | |
| nmap <leader>ca <Action>(RefactoringMenu) | |
| vmap <leader>ca <Action>(RefactoringMenu) | |
| " Run Codelens | |
| nmap <leader>cc :echo 'There is no equivalent mapping for Run Codelens.'<cr> | |
| " Refresh & Display Codelens | |
| nmap <leader>cC :echo 'There is no equivalent mapping for Refresh & Display Codelens.'<cr> | |
| " Rename File | |
| nmap <leader>cR <Action>(RenameFile) | |
| " Rename | |
| nmap <leader>cr <Action>(RenameElement) | |
| " Source Action | |
| nmap <leader>cA <Action>(ShowIntentionActions) | |
| " Next Reference | |
| nmap ]] <Action>(GotoNextError) | |
| " Prev Reference | |
| nmap [[ <Action>(GotoPreviousError) | |
| " Next Reference (alternative) | |
| nmap <a-n> <Action>(GotoNextError) | |
| " Prev Reference (alternative) | |
| nmap <a-p> <Action>(GotoPreviousError) | |
| " Bufferline | |
| " Delete buffers to the left | |
| nmap <leader>bl <Action>(CloseAllToTheLeft) | |
| " Toggle pin | |
| nmap <leader>bp <Action>(PinActiveTabToggle) | |
| " Delete Non-Pinned Buffers | |
| nmap <leader>bP <Action>(CloseAllUnpinnedEditors) | |
| " Delete buffers to the right | |
| nmap <leader>br <Action>(CloseAllToTheRight) | |
| " Neo-tree Keymaps | |
| " Buffer Explorer | |
| nmap <leader>be <Action>(ActivateProjectToolWindow) | |
| " Explorer NeoTree (Root Dir) | |
| nmap <leader>e <Action>(FileStructurePopup) | |
| " Explorer NeoTree (cwd) | |
| nmap <leader>E <Action>(SelectInProjectView) | |
| " Explorer NeoTree (Root Dir) (alternative) | |
| nmap <leader>fe <Action>(ActivateProjectToolWindow) | |
| " Explorer NeoTree (cwd) (alternative) | |
| nmap <leader>fE <Action>(ActivateProjectToolWindow) | |
| " Git Explorer | |
| nmap <leader>ge <Action>(ActivateVersionControlToolWindow) | |
| " Notifications (noice, snacks) | |
| nmap <leader>snd <Action>(ClearAllNotifications) | |
| nmap <leader>un <Action>(ClearAllNotifications) | |
| " Telescope Keymaps | |
| " Find Files (Root Dir) | |
| nmap <leader><space> <Action>(GotoFile) | |
| " Switch Buffer | |
| nmap <leader>, <Action>(Switcher) | |
| " Grep (Root Dir) | |
| nmap <leader>/ <Action>(FindInPath) | |
| " Command History | |
| nmap <leader>: :history<cr> | |
| " Buffers | |
| nmap <leader>fb <Action>(Switcher) | |
| " Find Config File | |
| nmap <leader>fc <Action>(GotoFile) | |
| " Find Files (Root Dir) (alternative) | |
| nmap <leader>ff <Action>(GotoFile) | |
| " Find Files (cwd) | |
| nmap <leader>fF <Action>(GotoFile) | |
| " Find Files (git-files) | |
| nmap <leader>fg <Action>(GotoFile) | |
| " Recent | |
| nmap <leader>fr <Action>(RecentFiles) | |
| " Recent (cwd) | |
| nmap <leader>fR <Action>(RecentFiles) | |
| " Commits | |
| nmap <leader>gc <Action>(Vcs.Show.Log) | |
| " Status | |
| nmap <leader>gs <Action>(Vcs.Show.Log) | |
| " Registers | |
| nmap <leader>s" :registers<cr> | |
| " Auto Commands | |
| nmap <leader>sa :echo 'There is no equivalent mapping.'<cr> | |
| " Buffer | |
| nmap <leader>sb <Action>(Switcher) | |
| " Command History (alternative) | |
| nmap <leader>sc :history<cr> | |
| " Commands | |
| nmap <leader>sC <Action>(GotoAction) | |
| " Document Diagnostics | |
| nmap <leader>sd <Action>(ActivateProblemsViewToolWindow) | |
| " Workspace Diagnostics | |
| nmap <leader>sD <Action>(ActivateProblemsViewToolWindow) | |
| " Grep (Root Dir) (alternative) | |
| nmap <leader>sg <Action>(FindInPath) | |
| " Grep (cwd) | |
| nmap <leader>sG <Action>(FindInPath) | |
| " Help Pages | |
| nmap <leader>sh <Action>(HelpTopics) | |
| " Search Highlight Groups | |
| nmap <leader>sH <Action>(HighlightUsagesInFile) | |
| " Jumplist | |
| nmap <leader>sj <Action>(RecentLocations) | |
| " Key Maps | |
| nmap <leader>sk :map<cr> | |
| " Location List | |
| nmap <leader>sl <Action>(ActivateProblemsViewToolWindow) | |
| " Jump to Mark | |
| nmap <leader>sm :marks<cr> | |
| " Man Pages | |
| nmap <leader>sM <Action>(ShowDocumentation) | |
| " Options | |
| nmap <leader>so <Action>(ShowSettings) | |
| " Quickfix List | |
| nmap <leader>sq <Action>(ActivateProblemsViewToolWindow) | |
| " Resume | |
| nmap <leader>sR :echo 'Not yet implmented.'<cr> | |
| " Goto Symbol | |
| nmap <leader>ss <Action>(GotoSymbol) | |
| " Goto Symbol (Workspace) | |
| nmap <leader>sS <Action>(GotoSymbol) | |
| " Word (Root Dir) | |
| nmap <leader>sw <Action>(FindWordAtCaret) | |
| " Word (cwd) | |
| nmap <leader>sW <Action>(FindWordAtCaret) | |
| " Selection (Root Dir) | |
| vmap <leader>sw <Action>(FindWordAtCaret) | |
| " Selection (cwd) | |
| vmap <leader>sW <Action>(FindWordAtCaret) | |
| " Colorscheme with Preview | |
| nmap <leader>uC <Action>(QuickChangeScheme) | |
| " DAP Keymaps | |
| " Run with Args | |
| nmap <leader>da <Action>(ChooseRunConfiguration) | |
| " Toggle Breakpoint | |
| nmap <leader>db <Action>(ToggleLineBreakpoint) | |
| " Breakpoint Condition | |
| nmap <leader>dB <Action>(AddConditionalBreakpoint) | |
| " Continue | |
| nmap <leader>dc <Action>(Resume) | |
| " Run to Cursor | |
| nmap <leader>dC <Action>(ForceRunToCursor) | |
| " Go to Line (No Execute) | |
| nmap <leader>dg :echo 'Not yet implemented.'<cr> | |
| " Step Into | |
| nmap <leader>di <Action>(StepInto) | |
| " Down | |
| nmap <leader>dj <Action>(GotoNextError) | |
| " Up | |
| nmap <leader>dk <Action>(GotoPreviousError) | |
| " Run Last | |
| nmap <leader>dl <Action>(Debug) | |
| " Step Out | |
| nmap <leader>do <Action>(StepOut) | |
| " Step Over | |
| nmap <leader>dO <Action>(StepOver) | |
| " Pause | |
| nmap <leader>dp <Action>(Pause) | |
| " Toggle REPL | |
| nmap <leader>dr <Action>(JShell.Console) | |
| " Session | |
| nmap <leader>ds :echo 'Not yet implmented.'<cr> | |
| " Terminate | |
| nmap <leader>dt <Action>(Stop) | |
| " Widgets | |
| nmap <leader>dw :echo 'There is no equivalent mapping for Widgets.'<cr> | |
| " Todo-comments Keymaps | |
| " Todo | |
| nmap <leader>st oTODO<esc>gcc | |
| " Todo/Fix/Fixme | |
| nmap <leader>sT :echo 'Not yet implemented.'<cr> | |
| " Todo (Trouble) | |
| nmap <leader>xt :echo 'Not yet implemented.'<cr> | |
| " Todo/Fix/Fixme (Trouble) | |
| nmap <leader>xT :echo 'Not yet implemented.'<cr> | |
| " Previous Todo Comment | |
| nmap [t ?TODO<cr> | |
| " Next Todo Comment | |
| nmap ]t /TODO<cr> | |
| " DAP UI Keymaps | |
| " Eval | |
| nmap <leader>de <Action>(EvaluateExpression) | |
| vmap <leader>de <Action>(EvaluateExpression) | |
| " Dap UI | |
| nmap <leader>du <Action>(ActivateDebugToolWindow) | |
| " Neotest Keymaps | |
| " Run Last | |
| nmap <leader>tl <Action>(Run) | |
| " Show Output | |
| nmap <leader>to :echo 'Not yet implemented.'<cr> | |
| " Toggle Output Panel | |
| nmap <leader>tO :echo 'Not yet implemented.'<cr> | |
| " Run Nearest | |
| nmap <leader>tr <Action>(RunClass) | |
| " Toggle Summary | |
| nmap <leader>ts <Action>(ShowTestSummary) | |
| " Stop | |
| nmap <leader>tS <Action>(Stop) | |
| " Run File | |
| nmap <leader>tt <Action>(RunClass) | |
| " Run All Test Files | |
| nmap <leader>tT <Action>(RunAllTests) | |
| " Toggle Watch | |
| nmap <leader>tw <Action>(ToggleTestWatch) | |
| " nvim-dap | |
| " Debug Nearest | |
| nmap <leader>td <Action>(ChooseDebugConfiguration) | |
| " Neovim mappings | |
| " https://neovim.io/doc/user/vim_diff.html#_default-mappings | |
| nnoremap Y y$ | |
| inoremap <C-U> <C-G>u<C-U> | |
| inoremap <C-W> <C-G>u<C-W> | |
| " Q isn't exactly the same. | |
| nnoremap Q @@ | |
| " There are several more Neovim mappings that need to be ported. See link. | |
| " Jetbrains conflicts | |
| " https://github.com/JetBrains/ideavim/blob/master/doc/sethandler.md | |
| " None, yet. Possible conflicts: ctrl -6befhjklorsvw | |
| " Notes and Caveats: | |
| " Tabs map to JB saved layouts. | |
| " Not everything has been tested. | |
| " TODOs: | |
| " Jetbrains conflicts | |
| " Improve Todo-comments | |
| " Convert to a github project | |
| " which-key labels | |
| " Test every map. sidy-by-side. | |
| " Compare all which-key popups | |
| " Consider: | |
| " flash, grub-far, noice, trouble, mini.diff, oversear, copilotchat, | |
| " dial, outline, md preview, harpoon, octo |
I appreciate the effort and ofc you are free to fork whatever, but out of courtesy I'd have preferred to give the original author the choice to turn this into a repo under their account. I'll wait some more to see if they come back until I start contributing. No beef, just love <3
I endorse the new github repo.
@cufarvid and @luqasn , I appreciate the feedback here. I'm happy cufarvid made the repo, as he gave me attribution. I only do Java for a few months of the year (occasional projects at work), so I am not motivated to maintain a repo.
My only ask is that @cufarvid maintain it over the long term and eagerly accept PRs, including my own.
Perfect, thanks to you both!
@mikeslattery Thanks for the endorsement - PRs are definitely welcome, including yours.
@luqasn Appreciate the feedback, would be great to have your contributions.
I'm a little confused… should leader e open nerdtree, right?
@cufarvid I am very grateful and happy for how well you've maintained your github repo. I'm proud to have been a part of it.
I've created a repository at https://github.com/cufarvid/lazy-idea based on this gist to make it easier for people to contribute. Feel free to check it out and contribute!