diff options
Diffstat (limited to 'config/ideavimrc')
| -rw-r--r-- | config/ideavimrc | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/config/ideavimrc b/config/ideavimrc new file mode 100644 index 0000000..9641325 --- /dev/null +++ b/config/ideavimrc @@ -0,0 +1,215 @@ +"" Source your .vimrc +"source ~/.vimrc + +"" -- Suggested options -- +" Show a few lines of context around the cursor. Note that this makes the +" text scroll if you mouse-click near the start or end of the window. +set scrolloff=5 + +" Do incremental searching. +set incsearch + +" Don't use Ex mode, use Q for formatting. +map Q gq + + +"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t +"" Map \r to the Reformat Code action +"map \r <Action>(ReformatCode) + +"" Map <leader>d to start debug +"map <leader>d <Action>(Debug) + +"" Map \b to toggle the breakpoint on the current line +"map \b <Action>(ToggleLineBreakpoint) + + +" Find more examples here: https://jb.gg/share-ideavimrc + +"" .ideavimrc - Matt Chapman + + +"" Base Settings +"" ======================================================== + +set scrolloff=10 +set linenumber +set showmode +set showcmd + +set smartcase +set incsearch +set hlsearch + +set visualbell + +" Use system clipboard +set clipboard+=unnamed + +let mapleader = " " + + +"" Plugin Settings +"" ======================================================== + +set surround +set highlightedyank +set nerdtree + +" Which-key settings +set which-key +let g:WhichKey_FontSize = 16 +let g:WhichKey_CommandColor = "#41ead4" +let g:WhichKey_PrefixColor = "#f335b2" +let g:WhichKey_SortOrder = "by_key_prefix_first" + +let g:WhichKeyDesc_leader = "<leader> Leader key" + +let g:WhichKeyDesc_leader = "<leader>x Open file explorer" + +let g:WhichKeyDesc_comment = "<leader>c Comment line" + +let g:WhichKeyDesc_fold = "<leader>z Folding" +let g:WhichKeyDesc_fold_all = "<leader>zc Fold all regions" +let g:WhichKeyDesc_unfold_all = "<leader>zo Unfold all regions" + +let g:WhichKeyDesc_window = "<leader>w Window splits" +let g:WhichKeyDesc_window_split_vertically = "<leader>wv Split vertically" +let g:WhichKeyDesc_window_split_horizontally = "<leader>wh Split horizontally" +let g:WhichKeyDesc_window_split_unsplit = "<leader>wu Unsplit" +let g:WhichKeyDesc_window_split_move_editor = "<leader>wm Move editor to opposite tab group" + + +let g:WhichKeyDesc_display = "<leader>d Display options" +let g:WhichKeyDesc_zen_mode = "<leader>dz Toggle Zen mode" +let g:WhichKeyDesc_df_mode = "<leader>dd Toggle Distraction-Free mode" +let g:WhichKeyDesc_fullscreen = "<leader>df Toggle full screen" + +let g:WhichKeyDesc_action= "<leader>a Actions" +let g:WhichKeyDesc_action_context_menu = "<leader>am Open context menu" +let g:WhichKeyDesc_action_search = "<leader>as Open command modal" + +let g:WhichKeyDesc_file_quickLook = "<leader><leader> Recent files" + +let g:WhichKeyDesc_file_nav = "<leader>f File navigation" +let g:WhichKeyDesc_file_nav_goto_file = "<leader>ff Go to file" +let g:WhichKeyDesc_file_nav_goto_content = "<leader>fc Search for file content" +let g:WhichKeyDesc_file_nav_show_recent_files = "<leader>fr Show recent files" +let g:WhichKeyDesc_file_nav_show_recent_locations = "<leader>fl Show recent locations" + +let g:WhichKeyDesc_close_tab = "<leader>q Close active tab" + +let g:WhichKeyDesc_refactoring = "<leader>r Refactoring menu" +let g:WhichKeyDesc_refactoring_rename = "<leader>rn Rename element" +let g:WhichKeyDesc_refactoring_method = "<leader>rm Extract method" +let g:WhichKeyDesc_refactoring_variable = "<leader>rv Introduce variable" +let g:WhichKeyDesc_refactoring_field = "<leader>rf Introduce field" +let g:WhichKeyDesc_refactoring_signature = "<leader>rs Change signature" +let g:WhichKeyDesc_refactoring_all = "<leader>rr Open refactorings list" + +let g:WhichKeyDesc_goto = "<leader>g Go to X" +let g:WhichKeyDesc_goto_declaration = "<leader>gd Go to Definition" +let g:WhichKeyDesc_goto_type_declaration = "<leader>gy Go to Type Definition" +let g:WhichKeyDesc_goto_implementation = "<leader>gi Go to Implementation" +let g:WhichKeyDesc_goto_usages = "<leader>gu Go to Usages" +let g:WhichKeyDesc_goto_test = "<leader>gt Go to Test" +let g:WhichKeyDesc_goto_back = "<leader>gb Go Back" +let g:WhichKeyDesc_goto_forward = "<leader>gf Go Forward" + +let g:WhichKeyDesc_git = "<leader>g Git operations" +let g:WhichKeyDesc_git_commit = "<leader>gc Open Git commit dialog" +let g:WhichKeyDesc_git_status = "<leader>gs Open Git status dialog" +let g:WhichKeyDesc_git_branches = "<leader>gb Open Git branches list" + +let g:WhichKeyDesc_errors = "<leader>e Error navigation" +let g:WhichKeyDesc_errors_next = "<leader>en Go to next error in solution" +let g:WhichKeyDesc_errors_prev = "<leader>ep Go to previous error in solution" + + +"" Key mappings +"" ======================================================== + + +" Tab navigation +" nnoremap <A-n> :tabnext<CR> +" nnoremap <A-p> :tabprev<CR> + + +" Jump between methods +" nnoremap [[ <Action>(MethodUp) +" nnoremap ]] <Action>(MethodDown) + +" Easy visual indentation +" vnoremap < <gv +" vnoremap > >gv + +" Popup navigation +inoremap <C-j> <Action>(PopupMenu-selectNext) +inoremap <C-k> <Action>(PopupMenu-selectPrev) + + +"" Leader commands +"" ======================================================== + +" Comment lines +map gcc <action>(CommentByLineComment) + +" Open NERDTree (use q to exit) +map <leader>/ :NERDTreeToggle<CR> + +" Folding +map <leader>zc :action CollapseAllRegions<CR> +map <leader>zo :action ExpandAllRegions<CR> + +" Window splits +map <leader>wv <Action>(SplitVertically) +map <leader>ws <Action>(SplitHorizontally) +map <leader>wu <Action>(Unsplit) +map <leader>wm <Action>(MoveEditorToOppositeTabGroup) + +" Display options +map <leader>dd <action>(ToggleDistractionFreeMode) +map <leader>dz <action>(ToggleZenMode) +map <leader>df <action>(ToggleFullScreen) + +" Actions +map <leader>am <action>(ShowIntentionActions) +map <leader>as <action>(SearchEverywhere) + +" File navigation +map <leader>ff <action>(GotoFile) +map <leader>fr <action>(RecentFiles) +map <leader>fc <action>(FindInPath) +map <leader><leader> <Action>(RecentFiles) +map <leader>fl <action>(RecentLocations) +map <leader>fs <action>(NewScratchFile) + +" Close active tab +map <leader>q <action>(CloseContent) + +" Refactoring +map <leader>rn <Action>(RenameElement) +map <leader>rm <Action>(ExtractMethod) +map <leader>rv <Action>(IntroduceVariable) +map <leader>rf <Action>(IntroduceField) +map <leader>rs <Action>(ChangeSignature) +map <leader>rr <Action>(Refactorings.QuickListPopupAction) + +" Go to code +nmap <leader>gd <Action>(GotoDeclaration) +nmap <leader>gy <Action>(GotoTypeDeclaration) +nmap <leader>gi <Action>(GotoImplementation) +nmap <leader>gu <Action>(ShowUsages) +nmap <leader>gt <Action>(GotoTest) +nmap <leader>gf <Action>(Back) +nmap <leader>gb <Action>(Forward) + +" Git windows +" map <leader>gc <Action>(CheckinProject) +" map <leader>gs <Action>(ActivateVersionControlToolWindow) +" map <leader>gb <Action>(Git.Branches) + +" Errors +map <leader>en <Action>(ReSharperGotoNextErrorInSolution) +map <leader>ep <Action>(ReSharperGotoPrevErrorInSolution) + |
