Skip to content

Instantly share code, notes, and snippets.

@ghost355
Forked from mikeslattery/.idea-lazy.vim
Last active March 3, 2025 19:11
Show Gist options
  • Select an option

  • Save ghost355/66b8f8282a05aadda177a0c5ea4c6f66 to your computer and use it in GitHub Desktop.

Select an option

Save ghost355/66b8f8282a05aadda177a0c5ea4c6f66 to your computer and use it in GitHub Desktop.

Revisions

  1. @mikeslattery mikeslattery revised this gist Dec 14, 2024. 1 changed file with 19 additions and 21 deletions.
    40 changes: 19 additions & 21 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -1,38 +1,36 @@
    " ~/.idea-lazy.vim

    " LazyVim mappings for Jetbrains IDEAVim plugin.
    " LazyVim mappings for Jetbrains IDEs

    " Required plugins:
    " 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

    " Hosted at:
    " This file is hosted at:
    " https://gist.github.com/mikeslattery/d2f2562e5bbaa7ef036cf9f5a13deff5

    " If you are a newbie, run this in Neovim to learn basic maps-> :Tutor
    " Beginners, run this to learn basic maps:
    " nvim --clean +Tutor

    " Useful Jetbrains Tools Maps, outside of IDEAVim
    " Useful Jetbrains Tool Windows' Maps:
    " <esc> Return to editor
    " Hide the tool window.
    " <s-esc> <Action>(HideActiveWindow)
    " Go to the tool window.
    " <f12> <Action>(JumpToLastWindow)
    " Toggle Maximize/Restore the tool window.
    " <c-s-quote> <Action>(MaximizeToolWindow)
    " Reload files. Useful after making edits in Neovim or CL.
    " <c-m-y> <Action>(Synchronize)
    " <M-left> <Action>(PreviousTab)
    " <M-right> <Action>(NextTab)
    " <c-F4> <Action>(CloseTab)
    " <M-3> <Action>(ActivateFindToolWindow)
    " <M-4> <Action>(ActivateRunToolWindow)
    " <M-5> <Action>(ActivateDebugToolWindow)
    " <M-6> <Action>(ActivateProblemsViewToolsWindow)
    " <c-s-a> <Action>(FindAction)
    " <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
  2. @mikeslattery mikeslattery revised this gist Dec 13, 2024. 1 changed file with 13 additions and 0 deletions.
    13 changes: 13 additions & 0 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,12 @@
    " ~/.idea-lazy.vim

    " LazyVim mappings for Jetbrains IDEAVim plugin.

    " Required plugins:
    " IDEAVim
    " Which-Key
    " IdeaVim-Sneak

    " To install, add this to the top of your ~/.ideavimrc:
    " source ~/.idea-lazy.vim

    @@ -16,10 +23,16 @@
    " <f12> <Action>(JumpToLastWindow)
    " Toggle Maximize/Restore the tool window.
    " <c-s-quote> <Action>(MaximizeToolWindow)
    " Reload files. Useful after making edits in Neovim or CL.
    " <c-m-y> <Action>(Synchronize)
    " <M-left> <Action>(PreviousTab)
    " <M-right> <Action>(NextTab)
    " <c-F4> <Action>(CloseTab)
    " <M-3> <Action>(ActivateFindToolWindow)
    " <M-4> <Action>(ActivateRunToolWindow)
    " <M-5> <Action>(ActivateDebugToolWindow)
    " <M-6> <Action>(ActivateProblemsViewToolsWindow)
    " <c-s-a> <Action>(FindAction)

    " LazyVim default settings
    " https://www.lazyvim.org/configuration/general
  3. @mikeslattery mikeslattery revised this gist Dec 11, 2024. 1 changed file with 54 additions and 17 deletions.
    71 changes: 54 additions & 17 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,24 @@
    " To install, add this to the top of your ~/.ideavimrc:
    " source ~/.idea-lazy.vim

    " Hosted at:
    " https://gist.github.com/mikeslattery/d2f2562e5bbaa7ef036cf9f5a13deff5

    " If you are a newbie, run this in Neovim to learn basic maps-> :Tutor

    " Useful Jetbrains Tools Maps, outside of IDEAVim
    " <esc> Return to editor
    " Hide the tool window.
    " <s-esc> <Action>(HideActiveWindow)
    " Go to the tool window.
    " <f12> <Action>(JumpToLastWindow)
    " Toggle Maximize/Restore the tool window.
    " <c-s-quote> <Action>(MaximizeToolWindow)
    " <M-3> <Action>(ActivateFindToolWindow)
    " <M-4> <Action>(ActivateRunToolWindow)
    " <M-5> <Action>(ActivateDebugToolWindow)
    " <M-6> <Action>(ActivateProblemsViewToolsWindow)

    " LazyVim default settings
    " https://www.lazyvim.org/configuration/general

    @@ -57,6 +75,9 @@ set matchit

    " https://www.lazyvim.org/configuration/keymaps

    " To track Action-IDs
    " :action VimFindActionIdAction

    " General Keymaps

    " Go to Left Window
    @@ -165,31 +186,30 @@ nmap <leader>gg <Action>(ActivateCommitToolWindow)
    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.Show.Log)
    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>(FindUsages)
    nmap <leader>ui <Actrion>(ActivateStructureToolWindow)
    " Inspect Tree
    nmap <leader>uI <Action>(ActivateStructureToolWindow)
    " LazyVim Changelog
    nmap <leader>L <Action>(Vcs.Show.Log)
    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-/><C-w> <Action>(ActivateTerminalToolWindow)
    " Hide Terminal
    nmap <C-_> <Action>(ActivateTerminalToolWindow)
    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
    @@ -198,28 +218,31 @@ nmap <leader><bar> <c-w>v
    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>(GoToLastTab)
    nmap <leader><tab>l <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout)
    " Close Other Tabs
    nmap <leader><tab>o <Action>(CloseAllToTheLeft)<Action>(CloseAllToTheRight)
    nmap <leader><tab>o :<cr>
    " First Tab
    nmap <leader><tab>f <Action>(GoToTab1)
    nmap <leader><tab>f <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout)
    " New Tab
    nmap <leader><tab><tab> Action(NewElementSamePlace)
    nmap <leader><tab>f <Action>(StoreDefaultLayout)<Action>(StoreNewLayout)
    " Next Tab
    nmap <leader><tab>] <Action>(NextTab)
    nmap <leader><tab>] <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout)
    " Previous Tab
    nmap <leader><tab>[ <Action>(PreviousTab)
    nmap <leader><tab>[ <Action>(StoreDefaultLayout)<Action>(ChangeToolWindowLayout)
    " Close Tab
    nmap <leader><tab>d <Action>(CloseContent)
    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
    @@ -237,7 +260,6 @@ 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>
    vmap <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
    @@ -323,7 +345,7 @@ nmap <leader>sb <Action>(Switcher)
    " Command History (alternative)
    nmap <leader>sc :history<cr>
    " Commands
    nmap <leader>sC :commands<cr>
    nmap <leader>sC <Action>(GotoAction)
    " Document Diagnostics
    nmap <leader>sd <Action>(ActivateProblemsViewToolWindow)
    " Workspace Diagnostics
    @@ -466,3 +488,18 @@ nnoremap Q @@
    " 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
  4. @mikeslattery mikeslattery revised this gist Nov 21, 2024. 1 changed file with 7 additions and 4 deletions.
    11 changes: 7 additions & 4 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -22,7 +22,8 @@ set shiftround
    " Columns of context
    set sidescrolloff=8
    " which-key says to set this high, or set notimeout
    set timeoutlen=5000
    set timeoutlen=10000
    set notimeout
    set undolevels=10000
    " Disable line wrap
    set nowrap
    @@ -96,15 +97,17 @@ nnoremap <leader>` <C-^>
    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 jgcck
    nmap gco o<c-o>gcc
    " Add Comment Above
    nmap gcO kgccj
    nmap gcO O<c-o>gcc
    " Lazy
    nmap <leader>l <Action>(WelcomeScreen.Plugins)
    " New File
    @@ -198,7 +201,7 @@ nmap <leader>wm <Action>(ToggleDistractionFreeMode)
    " Last Tab
    nmap <leader><tab>l <Action>(GoToLastTab)
    " Close Other Tabs
    nmap <leader><tab>o <Action>(CloseOtherTabs)
    nmap <leader><tab>o <Action>(CloseAllToTheLeft)<Action>(CloseAllToTheRight)
    " First Tab
    nmap <leader><tab>f <Action>(GoToTab1)
    " New Tab
  5. @mikeslattery mikeslattery revised this gist Nov 13, 2024. 1 changed file with 7 additions and 3 deletions.
    10 changes: 7 additions & 3 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -428,24 +428,28 @@ nmap <leader>du <Action>(ActivateDebugToolWindow)
    " Neotest Keymaps

    " Run Last
    nmap <leader>tl <Action>(Debug)
    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>(RunTestGroup)
    nmap <leader>tr <Action>(RunClass)
    " Toggle Summary
    nmap <leader>ts <Action>(ShowTestSummary)
    " Stop
    nmap <leader>tS <Action>(Stop)
    " Run File
    nmap <leader>tt <Action>(RunTestGroup)
    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

  6. @mikeslattery mikeslattery revised this gist Nov 13, 2024. 1 changed file with 30 additions and 14 deletions.
    44 changes: 30 additions & 14 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -108,32 +108,32 @@ nmap gcO kgccj
    " Lazy
    nmap <leader>l <Action>(WelcomeScreen.Plugins)
    " New File
    nmap <leader>fn Action(NewElementSamePlace)<CR>
    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)
    nmap [q <Action>(GotoPreviousError)
    " Next Quickfix
    nmap ]q <Action(GotoNextError)
    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)
    nmap ]d <Action>(GotoNextError)
    " Prev Diagnostic
    nmap [d <Action(GotoPreviousError)
    nmap [d <Action>(GotoPreviousError)
    " Next Error
    nmap ]e <Action(GotoNextError)
    nmap ]e <Action>(GotoNextError)
    " Prev Error
    nmap [e <Action(GotoPreviousError)
    nmap [e <Action>(GotoPreviousError)
    " Next Warning
    nmap ]w <Action(GotoNextError)
    nmap ]w <Action>(GotoNextError)
    " Prev Warning
    nmap [w <Action(GotoPreviousError)
    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)
    @@ -202,7 +202,7 @@ nmap <leader><tab>o <Action>(CloseOtherTabs)
    " First Tab
    nmap <leader><tab>f <Action>(GoToTab1)
    " New Tab
    nmap <leader><tab><tab> Action(NewElementSamePlace)<CR>
    nmap <leader><tab><tab> Action(NewElementSamePlace)
    " Next Tab
    nmap <leader><tab>] <Action>(NextTab)
    " Previous Tab
    @@ -252,6 +252,17 @@ 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
    @@ -267,6 +278,11 @@ 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)
    @@ -354,15 +370,15 @@ nmap <leader>uC <Action>(QuickChangeScheme)
    " Run with Args
    nmap <leader>da <Action>(ChooseRunConfiguration)
    " Toggle Breakpoint
    nmap <leader>db <Action>(ToggleBreakpointAction)
    nmap <leader>db <Action>(ToggleLineBreakpoint)
    " Breakpoint Condition
    nmap <leader>dB <Action>(ToggleBreakpointAction)
    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 <Action>(GotoLine)
    nmap <leader>dg :echo 'Not yet implemented.'<cr>
    " Step Into
    nmap <leader>di <Action>(StepInto)
    " Down
    @@ -407,7 +423,7 @@ nmap ]t /TODO<cr>
    nmap <leader>de <Action>(EvaluateExpression)
    vmap <leader>de <Action>(EvaluateExpression)
    " Dap UI
    nmap <leader>du :echo 'Not yet implemented.'<cr>
    nmap <leader>du <Action>(ActivateDebugToolWindow)
    " Neotest Keymaps

  7. @mikeslattery mikeslattery revised this gist Nov 5, 2024. 1 changed file with 15 additions and 16 deletions.
    31 changes: 15 additions & 16 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -76,31 +76,29 @@ nmap <C-Left> <Action>(DecrementWindowWidth)
    nmap <C-Right> <Action>(IncrementWindowWidth)
    " Move Down
    nmap <A-j> <Action>(MoveLineDown)
    " Move Down
    imap <A-j> <Esc><Action>(MoveLineDown)i
    " Move Up
    nmap <A-k> k
    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 <S-h> <Action>(PreviousTab)
    nmap [b <Action>(PreviousTab)
    " Next Buffer (alternative)
    nmap [b <Action>(NextTab)
    " Switch to Other Buffer
    nmap ]b <Action>(NextTab)
    " Switch to Other Buffer
    nnoremap <leader>bb <C-^>
    " Switch to Other Buffer (alternative)
    nmap <leader>bb <Action>(NextTab)
    nnoremap <leader>` <C-^>
    " Delete Buffer
    nmap <leader>bd <Action>(CloseContent)
    " Delete Buffer and Window
    nmap <leader>bD <Action>(CloseContent)
    " Escape and Clear hlsearch
    nmap <esc> :nohlsearch<CR>
    nmap <leader>ur :nohlsearch<CR>
    " Save File
    inoremap <C-s> <C-o>:w<CR>
    " Keywordprg
    nmap <leader>K :help<space><C-r><C-w><CR>
    " Add Comment Below
    @@ -110,7 +108,7 @@ nmap gcO kgccj
    " Lazy
    nmap <leader>l <Action>(WelcomeScreen.Plugins)
    " New File
    nmap <leader>fn :enew<CR>
    nmap <leader>fn Action(NewElementSamePlace)<CR>
    " Location List
    nmap <leader>xl <Action>(ActivateProblemsViewToolWindow)
    " Quickfix List
    @@ -155,7 +153,7 @@ nmap <leader>uc :echo 'There is no equivalent mapping for Toggle Conceallevel.'<
    " Toggle Treesitter Highlight
    nmap <leader>uT :echo 'There is no equivalent mapping for Toggle Treesitter Highlight.'<cr>
    " Toggle Background
    nmap <leader>ub :echo 'There is no equivalent mapping for Toggle Background.'<cr>
    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)
    @@ -164,8 +162,9 @@ nmap <leader>gg <Action>(ActivateCommitToolWindow)
    nmap <leader>gG <Action>(ActivateCommitToolWindow)
    " Git Blame Line
    nmap <leader>gb <Action>(Annotate)
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Git Browse
    nmap <leader>gB :echo 'Not yet implemented'<CR>
    nmap <leader>gB <Action>(Vcs.Show.Log)
    " Lazygit Current File History
    nmap <leader>gf <Action>(Vcs.Show.Log)
    " Lazygit Log
    @@ -203,13 +202,13 @@ nmap <leader><tab>o <Action>(CloseOtherTabs)
    " First Tab
    nmap <leader><tab>f <Action>(GoToTab1)
    " New Tab
    nmap <leader><tab><tab> :enew<CR>
    nmap <leader><tab><tab> Action(NewElementSamePlace)<CR>
    " Next Tab
    nmap <leader><tab>] <Action>(NextTab)
    " Close Tab
    nmap <leader><tab>d <Action>(CloseContent)
    " Previous Tab
    nmap <leader><tab>[ <Action>(PreviousTab)
    " Close Tab
    nmap <leader><tab>d <Action>(CloseContent)

    " LSP Keymaps
    @@ -271,7 +270,7 @@ nmap <leader>ge <Action>(ActivateVersionControlToolWindow)
    " Telescope Keymaps

    " Find Files (Root Dir)
    nmap <leader><space> <Action>(Switcher)
    nmap <leader><space> <Action>(GotoFile)
    " Switch Buffer
    nmap <leader>, <Action>(Switcher)
    " Grep (Root Dir)
    @@ -438,7 +437,7 @@ 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.
    nnomap Q @@
    nnoremap Q @@
    " There are several more Neovim mappings that need to be ported. See link.

    " Jetbrains conflicts
  8. @mikeslattery mikeslattery revised this gist Nov 4, 2024. 1 changed file with 16 additions and 16 deletions.
    32 changes: 16 additions & 16 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -87,11 +87,11 @@ nmap <S-l> <Action>(NextTab)
    " Prev Buffer (alternative)
    nmap <S-h> <Action>(PreviousTab)
    " Next Buffer (alternative)
    nmap <S-l> <Action>(NextTab)
    nmap [b <Action>(NextTab)
    " Switch to Other Buffer
    nmap <S-l> <Action>(NextTab)
    nmap ]b <Action>(NextTab)
    " Switch to Other Buffer (alternative)
    nmap <S-l> <Action>(NextTab)
    nmap <leader>bb <Action>(NextTab)
    " Delete Buffer
    nmap <leader>bd <Action>(CloseContent)
    " Delete Buffer and Window
    @@ -112,7 +112,7 @@ nmap <leader>l <Action>(WelcomeScreen.Plugins)
    " New File
    nmap <leader>fn :enew<CR>
    " Location List
    nmap <leader>xq <Action>(ActivateProblemsViewToolWindow)
    nmap <leader>xl <Action>(ActivateProblemsViewToolWindow)
    " Quickfix List
    nmap <leader>xq <Action>(ActivateProblemsViewToolWindow)
    " Previous Quickfix
    @@ -161,37 +161,37 @@ nmap <leader>uh :echo 'There is no equivalent mapping for Toggle Inlay Hints.'<c
    " Lazygit (Root Dir)
    nmap <leader>gg <Action>(ActivateCommitToolWindow)
    " Lazygit (cwd)
    nmap <leader>gg <Action>(ActivateCommitToolWindow)
    nmap <leader>gG <Action>(ActivateCommitToolWindow)
    " Git Blame Line
    nmap <leader>gb <Action>(Annotate)
    " Git Browse
    nmap <leader>gB :echo 'Not yet implemented'<CR>
    " Lazygit Current File History
    nmap <leader>gl <Action>(Vcs.Show.Log)
    nmap <leader>gf <Action>(Vcs.Show.Log)
    " Lazygit Log
    nmap <leader>gl <Action>(Vcs.Show.Log)
    " Lazygit Log (cwd)
    nmap <leader>gl <Action>(Vcs.Show.Log)
    nmap <leader>gL <Action>(Vcs.Show.Log)
    " Quit All
    nmap <leader>qq <Action>(Exit)
    " Inspect Pos
    nmap <leader>ui <Actrion>(FindUsages)
    " Inspect Tree
    nmap <leader>gl <Action>(ActivateStructureToolWindow)
    nmap <leader>uI <Action>(ActivateStructureToolWindow)
    " LazyVim Changelog
    nmap <leader>gl <Action>(Vcs.Show.Log)
    nmap <leader>L <Action>(Vcs.Show.Log)
    " Terminal (Root Dir)
    nmap <leader>ft <Action>(ActivateTerminalToolWindow)
    " Terminal (cwd)
    nmap <leader>fT <Action>(ActivateTerminalToolWindow)
    " Terminal (Root Dir)
    nmap <C-/><C-w> <Action>(ActivateTerminalToolWindow)
    " nmap <C-/><C-w> <Action>(ActivateTerminalToolWindow)
    " Hide Terminal
    nmap <C-_> <Action>(ActivateTerminalToolWindow)
    " Split Window Below
    nmap <leader>- :split<CR>
    " Split Window Below. :split<cr> doesn't work.
    nmap <leader>- <c-w>s
    " Split Window Right
    nmap <leader>| :vsplit<CR>
    nmap <leader><bar> <c-w>v
    " Delete Window
    nmap <leader>wd <Action>(CloseContent)
    " Toggle Maximize
    @@ -277,7 +277,7 @@ nmap <leader>, <Action>(Switcher)
    " Grep (Root Dir)
    nmap <leader>/ <Action>(FindInPath)
    " Command History
    nmap <leader>: <Action>(ShowCommands)
    nmap <leader>: :history<cr>
    " Buffers
    nmap <leader>fb <Action>(Switcher)
    " Find Config File
    @@ -319,7 +319,7 @@ nmap <leader>sh <Action>(HelpTopics)
    " Search Highlight Groups
    nmap <leader>sH <Action>(HighlightUsagesInFile)
    " Jumplist
    nmap <leader>sj :echo "Not yet implemented."<cr>
    nmap <leader>sj <Action>(RecentLocations)
    " Key Maps
    nmap <leader>sk :map<cr>
    " Location List
    @@ -443,4 +443,4 @@ nnomap Q @@

    " Jetbrains conflicts
    " https://github.com/JetBrains/ideavim/blob/master/doc/sethandler.md
    " None, yet. Possible conflicts: -6befhjklorsvw
    " None, yet. Possible conflicts: ctrl -6befhjklorsvw
  9. @mikeslattery mikeslattery revised this gist Nov 4, 2024. 1 changed file with 14 additions and 10 deletions.
    24 changes: 14 additions & 10 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -93,9 +93,9 @@ nmap <S-l> <Action>(NextTab)
    " Switch to Other Buffer (alternative)
    nmap <S-l> <Action>(NextTab)
    " Delete Buffer
    nmap <leader>bd <Action>(CloseActiveTab)
    nmap <leader>bd <Action>(CloseContent)
    " Delete Buffer and Window
    nmap <leader>bD <Action>(CloseActiveTab)
    nmap <leader>bD <Action>(CloseContent)
    " Escape and Clear hlsearch
    nmap <esc> :nohlsearch<CR>
    nmap <leader>ur :nohlsearch<CR>
    @@ -123,7 +123,7 @@ nmap ]q <Action(GotoNextError)
    nmap <leader>cf <Action>(Format)
    vmap <leader>cf <Action>(Format)
    " Line Diagnostics
    nmap <leader>cd <Action>(ShowErrorsInProject)
    nmap <leader>cd <Action>(ActivateProblemsViewToolWindow)
    " Next Diagnostic
    nmap ]d <Action(GotoNextError)
    " Prev Diagnostic
    @@ -193,7 +193,7 @@ nmap <leader>- :split<CR>
    " Split Window Right
    nmap <leader>| :vsplit<CR>
    " Delete Window
    nmap <leader>wd <Action>(CloseActiveTab)
    nmap <leader>wd <Action>(CloseContent)
    " Toggle Maximize
    nmap <leader>wm <Action>(ToggleDistractionFreeMode)
    " Last Tab
    @@ -207,7 +207,7 @@ nmap <leader><tab><tab> :enew<CR>
    " Next Tab
    nmap <leader><tab>] <Action>(NextTab)
    " Close Tab
    nmap <leader><tab>d <Action>(CloseActiveTab)
    nmap <leader><tab>d <Action>(CloseContent)
    " Previous Tab
    nmap <leader><tab>[ <Action>(PreviousTab)
    @@ -271,7 +271,7 @@ nmap <leader>ge <Action>(ActivateVersionControlToolWindow)
    " Telescope Keymaps

    " Find Files (Root Dir)
    nmap <leader><space> <Action>(GotoFile)
    nmap <leader><space> <Action>(Switcher)
    " Switch Buffer
    nmap <leader>, <Action>(Switcher)
    " Grep (Root Dir)
    @@ -303,13 +303,13 @@ nmap <leader>sa :echo 'There is no equivalent mapping.'<cr>
    " Buffer
    nmap <leader>sb <Action>(Switcher)
    " Command History (alternative)
    nmap <leader>sc <Action>(ShowCommands)
    nmap <leader>sc :history<cr>
    " Commands
    nmap <leader>sC <Action>(ShowCommands)
    nmap <leader>sC :commands<cr>
    " Document Diagnostics
    nmap <leader>sd <Action>(ShowErrorsInProject)
    nmap <leader>sd <Action>(ActivateProblemsViewToolWindow)
    " Workspace Diagnostics
    nmap <leader>sD <Action>(ShowErrorsInProject)
    nmap <leader>sD <Action>(ActivateProblemsViewToolWindow)
    " Grep (Root Dir) (alternative)
    nmap <leader>sg <Action>(FindInPath)
    " Grep (cwd)
    @@ -440,3 +440,7 @@ inoremap <C-W> <C-G>u<C-W>
    " Q isn't exactly the same.
    nnomap 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: -6befhjklorsvw
  10. @mikeslattery mikeslattery revised this gist Nov 4, 2024. 1 changed file with 23 additions and 63 deletions.
    86 changes: 23 additions & 63 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -4,89 +4,37 @@
    " source ~/.idea-lazy.vim

    " LazyVim default settings

    " https://www.lazyvim.org/configuration/general

    let mapleader=" "
    let maplocalleader="\\"

    " Enable auto write
    set autowrite
    set completeopt=menu,menuone,noselect
    " Hide * markup for bold and italic, but not markers with substitutions
    set conceallevel=2
    " Confirm to save changes before exiting modified buffer
    set confirm
    " Enable highlighting of the current line
    set cursorline
    " Use spaces instead of tabs
    set expandtab
    set foldlevel=99
    set formatoptions=jcroqlnt " tcqj
    set grepformat=%f:%l:%c:%m
    set grepprg=rg\ --vimgrep
    " Ignore case
    set ignorecase
    " Preview incremental substitute
    set inccommand=nosplit
    set jumpoptions=view
    " Global statusline
    set laststatus=3
    " Wrap lines at convenient points
    set linebreak
    " Show some invisible characters (tabs...)
    set list
    " Enable mouse mode
    set mouse=a
    set formatoptions=jcroqlnt
    " Print line number
    set number
    " Popup blend
    set pumblend=10
    " Maximum number of entries in a popup
    set pumheight=10
    " Relative line numbers
    set relativenumber
    " Lines of context
    set scrolloff=4
    " Round indent
    set shiftround
    " Size of an indent
    set shiftwidth=2
    " Don't show mode since we have a statusline
    set showmode=false
    " Columns of context
    set sidescrolloff=8
    " Always show the signcolumn
    set signcolumn=yes
    " Don't ignore case with capitals
    set smartcase
    " Insert indents automatically
    set smartindent
    set spelllang=en
    " Put new windows below current
    set splitbelow
    set splitkeep=screen
    " Put new windows right of current
    set splitright
    " Number of spaces tabs count for
    set tabstop=2
    " True color support
    set termguicolors
    set timeoutlen=300
    " Enable undo file
    set undofile
    " which-key says to set this high, or set notimeout
    set timeoutlen=5000
    set undolevels=10000
    " Save swap file and trigger CursorHold
    set updatetime=200
    " Allow cursor to move where there is no text in visual block mode
    set virtualedit=block
    " Command-line completion mode
    set wildmode=longest:full,full
    " Minimum window width
    set winminwidth=5
    " 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

    @@ -101,6 +49,8 @@ Plug 'tpope/vim-surround'
    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

    @@ -480,3 +430,13 @@ nmap <leader>tt <Action>(RunTestGroup)
    nmap <leader>tT <Action>(RunAllTests)
    " Toggle Watch
    nmap <leader>tw <Action>(ToggleTestWatch)
    " 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.
    nnomap Q @@
    " There are several more Neovim mappings that need to be ported. See link.
  11. @mikeslattery mikeslattery created this gist Nov 3, 2024.
    482 changes: 482 additions & 0 deletions .idea-lazy.vim
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,482 @@
    " ~/.idea-lazy.vim

    " To install, add this to the top of your ~/.ideavimrc:
    " source ~/.idea-lazy.vim

    " LazyVim default settings

    " https://www.lazyvim.org/configuration/general

    let mapleader=" "
    let maplocalleader="\\"

    " Enable auto write
    set autowrite
    set completeopt=menu,menuone,noselect
    " Hide * markup for bold and italic, but not markers with substitutions
    set conceallevel=2
    " Confirm to save changes before exiting modified buffer
    set confirm
    " Enable highlighting of the current line
    set cursorline
    " Use spaces instead of tabs
    set expandtab
    set foldlevel=99
    set formatoptions=jcroqlnt " tcqj
    set grepformat=%f:%l:%c:%m
    set grepprg=rg\ --vimgrep
    " Ignore case
    set ignorecase
    " Preview incremental substitute
    set inccommand=nosplit
    set jumpoptions=view
    " Global statusline
    set laststatus=3
    " Wrap lines at convenient points
    set linebreak
    " Show some invisible characters (tabs...)
    set list
    " Enable mouse mode
    set mouse=a
    " Print line number
    set number
    " Popup blend
    set pumblend=10
    " Maximum number of entries in a popup
    set pumheight=10
    " Relative line numbers
    set relativenumber
    " Lines of context
    set scrolloff=4
    " Round indent
    set shiftround
    " Size of an indent
    set shiftwidth=2
    " Don't show mode since we have a statusline
    set showmode=false
    " Columns of context
    set sidescrolloff=8
    " Always show the signcolumn
    set signcolumn=yes
    " Don't ignore case with capitals
    set smartcase
    " Insert indents automatically
    set smartindent
    set spelllang=en
    " Put new windows below current
    set splitbelow
    set splitkeep=screen
    " Put new windows right of current
    set splitright
    " Number of spaces tabs count for
    set tabstop=2
    " True color support
    set termguicolors
    set timeoutlen=300
    " Enable undo file
    set undofile
    set undolevels=10000
    " Save swap file and trigger CursorHold
    set updatetime=200
    " Allow cursor to move where there is no text in visual block mode
    set virtualedit=block
    " Command-line completion mode
    set wildmode=longest:full,full
    " Minimum window width
    set winminwidth=5
    " Disable line wrap
    set nowrap


    " 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

    " Key maps

    " https://www.lazyvim.org/configuration/keymaps

    " 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)
    " Move Down
    imap <A-j> <Esc><Action>(MoveLineDown)i
    " Move Up
    nmap <A-k> k
    " Prev Buffer
    nmap <S-h> <Action>(PreviousTab)
    " Next Buffer
    nmap <S-l> <Action>(NextTab)
    " Prev Buffer (alternative)
    nmap <S-h> <Action>(PreviousTab)
    " Next Buffer (alternative)
    nmap <S-l> <Action>(NextTab)
    " Switch to Other Buffer
    nmap <S-l> <Action>(NextTab)
    " Switch to Other Buffer (alternative)
    nmap <S-l> <Action>(NextTab)
    " Delete Buffer
    nmap <leader>bd <Action>(CloseActiveTab)
    " Delete Buffer and Window
    nmap <leader>bD <Action>(CloseActiveTab)
    " Escape and Clear hlsearch
    nmap <esc> :nohlsearch<CR>
    nmap <leader>ur :nohlsearch<CR>
    " Save File
    inoremap <C-s> <C-o>:w<CR>
    " Keywordprg
    nmap <leader>K :help<space><C-r><C-w><CR>
    " Add Comment Below
    nmap gco jgcck
    " Add Comment Above
    nmap gcO kgccj
    " Lazy
    nmap <leader>l <Action>(WelcomeScreen.Plugins)
    " New File
    nmap <leader>fn :enew<CR>
    " Location List
    nmap <leader>xq <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>(ShowErrorsInProject)
    " 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 :echo 'There is no equivalent mapping for Toggle Background.'<cr>
    " 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 :echo 'Not yet implemented'<CR>
    " Lazygit Current File History
    nmap <leader>gl <Action>(Vcs.Show.Log)
    " 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>(FindUsages)
    " Inspect Tree
    nmap <leader>gl <Action>(ActivateStructureToolWindow)
    " LazyVim Changelog
    nmap <leader>gl <Action>(Vcs.Show.Log)
    " Terminal (Root Dir)
    nmap <leader>ft <Action>(ActivateTerminalToolWindow)
    " Terminal (cwd)
    nmap <leader>fT <Action>(ActivateTerminalToolWindow)
    " Terminal (Root Dir)
    nmap <C-/><C-w> <Action>(ActivateTerminalToolWindow)
    " Hide Terminal
    nmap <C-_> <Action>(ActivateTerminalToolWindow)
    " Split Window Below
    nmap <leader>- :split<CR>
    " Split Window Right
    nmap <leader>| :vsplit<CR>
    " Delete Window
    nmap <leader>wd <Action>(CloseActiveTab)
    " Toggle Maximize
    nmap <leader>wm <Action>(ToggleDistractionFreeMode)
    " Last Tab
    nmap <leader><tab>l <Action>(GoToLastTab)
    " Close Other Tabs
    nmap <leader><tab>o <Action>(CloseOtherTabs)
    " First Tab
    nmap <leader><tab>f <Action>(GoToTab1)
    " New Tab
    nmap <leader><tab><tab> :enew<CR>
    " Next Tab
    nmap <leader><tab>] <Action>(NextTab)
    " Close Tab
    nmap <leader><tab>d <Action>(CloseActiveTab)
    " Previous Tab
    nmap <leader><tab>[ <Action>(PreviousTab)

    " 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>
    vmap <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)
    " 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)
    " 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>: <Action>(ShowCommands)
    " 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 <Action>(ShowCommands)
    " Commands
    nmap <leader>sC <Action>(ShowCommands)
    " Document Diagnostics
    nmap <leader>sd <Action>(ShowErrorsInProject)
    " Workspace Diagnostics
    nmap <leader>sD <Action>(ShowErrorsInProject)
    " 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 :echo "Not yet implemented."<cr>
    " 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>(ToggleBreakpointAction)
    " Breakpoint Condition
    nmap <leader>dB <Action>(ToggleBreakpointAction)
    " Continue
    nmap <leader>dc <Action>(Resume)
    " Run to Cursor
    nmap <leader>dC <Action>(ForceRunToCursor)
    " Go to Line (No Execute)
    nmap <leader>dg <Action>(GotoLine)
    " 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 :echo 'Not yet implemented.'<cr>
    " Neotest Keymaps

    " Run Last
    nmap <leader>tl <Action>(Debug)
    " 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>(RunTestGroup)
    " Toggle Summary
    nmap <leader>ts <Action>(ShowTestSummary)
    " Stop
    nmap <leader>tS <Action>(Stop)
    " Run File
    nmap <leader>tt <Action>(RunTestGroup)
    " Run All Test Files
    nmap <leader>tT <Action>(RunAllTests)
    " Toggle Watch
    nmap <leader>tw <Action>(ToggleTestWatch)