Last active
October 17, 2024 14:15
-
-
Save dewaka/ef947e52767bf453eaf77c852051eb7e to your computer and use it in GitHub Desktop.
This file contains 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
set ignorecase | |
set smartcase | |
set scrolloff=3 " 3 lines above/below cursor when scrolling | |
" Emulated Plugins | |
set surround | |
" set easymotion | |
set NERDTree | |
" Copy to system clipboard as well | |
set clipboard+=unnamed | |
" Use Idea to join lines smartly | |
set ideajoin | |
" Multiple cursors support | |
set multiple-cursors | |
" These settings are from - https://github.com/Valloric/dotfiles/blob/master/intellij/ideavimrc | |
" let mapleader = "," | |
let mapleader = " " | |
" let maplocalleader = "," | |
" Create new vertical splits on right and horizontals on below | |
" set splitright | |
" set splitbelow | |
" Use Q for formatting the current paragraph (or visual selection) | |
vmap Q gq | |
nmap Q gqap | |
" These create newlines like o and O but stay in normal mode | |
nmap zj o<Esc>k | |
nmap zk O<Esc>j | |
" key bindings for quickly moving between windows | |
" h left, l right, k up, j down | |
" nmap <leader>h <c-w>hce | |
" nmap <leader>l <c-w>l | |
" nmap <leader>k <c-w>k | |
" nmap <leader>j <c-w>j | |
" Closing tabs | |
nmap <leader>q :action CloseContent<cr> | |
nmap <leader>Q :action ReopenClosedTab<cr> | |
" Switch projects | |
nmap <leader>ww :action NextProjectWindow<cr> | |
" To navigate between split panes | |
nmap <leader>wo :action NextSplitter<cr> | |
nmap <leader>wp :action PrevSplitter<cr> | |
" Alt+Tab is quite good for this action | |
" nmap <leader>j :action PrevSplitter<cr> | |
nmap ,s :action PrevSplitter<cr> | |
" Full screen window | |
nmap <leader>wf :action HideAllWindows<cr> | |
" Splits manipulation | |
nmap <leader>ws :action SplitHorizontally<cr> | |
nmap <leader>wv :action SplitVertically<cr> | |
nmap <leader>wc :action Unsplit<cr> | |
nmap <leader>wC :action UnsplitAll<cr> | |
nmap <leader>wd :action OpenEditorInOppositeTabGroup<cr> | |
" nmap <leader><leader> :action VimFilePrevious<cr> | |
" nmap <leader>, :action VimFilePrevious<cr> | |
" nmap <leader>ww :action JumpToLastWindow<cr> | |
" NERDTree | |
map <leader>nn :NERDTree<CR> | |
map <leader>nf :NERDTreeFind<CR> | |
" Navigation | |
nmap <leader>h :action Back<cr> | |
nmap <leader>l :action Forward<cr> | |
nmap <leader>L :action RecentLocations<cr> | |
nmap <leader>u :action FindUsages<cr> | |
nmap <leader>C :action CallHierarchy<cr> | |
nmap <leader>f :action GotoFile<cr> | |
nmap <leader>c :action GotoClass<cr> | |
nmap <leader>s :action GotoSymbol<cr> | |
nmap <leader>m :action ToggleBookmark<cr> | |
nmap <leader>; :action FileStructurePopup<cr> | |
nmap <leader>M :action ActivateStructureToolWindow<cr> | |
nmap <leader>d :action ShowErrorDescription<cr> | |
nmap <leader>i :action GotoImplementation<cr> | |
nmap <leader>U :action GotoSuperMethod<cr> | |
nmap <leader>I :action SelectIn<cr> | |
nmap <leader>e :action RecentFiles<cr> | |
nmap <leader>a :action RecentChangedFiles<cr> | |
nmap <leader>t :action GotoTest<cr> | |
nmap <leader>p :action JumpToLastWindow<cr> | |
nmap <leader>b :action ShowBookmarks<cr> | |
" Useful Git actions | |
nmap <leader>gb :action Git.Branches<cr> | |
nmap <leader>gp :action Git.Pull<cr> | |
nmap <leader>gu :action Git.Push<cr> | |
nmap <leader>gr :action Git.Rebase<cr> | |
nmap <leader>gm :action Git.Merge<cr> | |
" nmap <leader>a :action Switcher<cr> | |
nmap ,a :action GotoAction<cr> | |
" Errors | |
nmap <leader>x :action GotoNextError<cr> | |
nmap <leader>X :action GotoPreviousError<cr> | |
" Refactorings | |
vmap T :action Refactorings.QuickListPopupAction<cr> | |
vmap <leader>rm :action ExtractMethod<cr> | |
nmap <leader>rr :action RenameElement<cr> | |
nmap <leader>rg :action Generate<cr> | |
nmap <leader>rI :action OptimizeImports<cr> | |
" Inspection | |
nmap <leader>rc :action InspectCode<cr> | |
" VCS operations | |
nmap <leader>yy :action Vcs.Show.Local.Changes<cr> | |
nmap <leader>yp :action Vcs.QuickListPopupAction<cr> | |
nmap <leader>ya :action Annotate<cr> | |
nmap <leader>yl :action Vcs.Show.Log<cr> | |
nmap <leader>yd :action Compare.LastVersion<cr> | |
nmap <leader>yP :action Git.Pull<cr> | |
nmap <leader>yr :action Git.ResolveConflicts<cr> | |
nmap <leader>yo :action Github.Open.In.Browser<cr> | |
" Terminal | |
nmap <leader>T :action ActivateTerminalToolWindow<cr> | |
" Gradle | |
nmap <leader>G :action ActivateGradleToolWindow<cr> | |
" External GVim | |
nmap <leader>v :action Tool_External Tools_mvim<cr> | |
" External Emacs | |
nmap <leader>E :action Tool_External Tools_emacsclient<cr> | |
" External Sublime Text | |
nmap <leader>S :action Tool_External Tools_sublime_text<cr> | |
" IdeaVim uses 'a' for alt instead of Vim's 'm' | |
nmap <a-j> 15gj | |
nmap <a-k> 15gk | |
" Won't work in visual mode (with vmap) for some reason. | |
" Use default map of <c-/> for that. | |
nmap gcc :action CommentByLineComment<cr> | |
" unimpaired mappings - from https://github.com/saaguero/ideavimrc/blob/master/.ideavimrc | |
nnoremap [<space> O<esc>j | |
nnoremap ]<space> o<esc>k | |
nnoremap [q :action PreviousOccurence<cr> | |
nnoremap ]q :action NextOccurence<cr> | |
nnoremap [m :action MethodUp<cr> | |
nnoremap ]m :action MethodDown<cr> | |
nnoremap [c :action VcsShowPrevChangeMarker<cr> | |
nnoremap ]c :action VcsShowNextChangeMarker<cr> | |
" Tabs | |
nnoremap [b :action PreviousTab<cr> | |
nnoremap ]b :action NextTab<cr> | |
" Search | |
nmap <leader>/ :action Find<cr> | |
nmap <leader>\ :action FindInPath<cr> | |
" Moving lines | |
nmap [e :action MoveLineUp<cr> | |
nmap ]e :action MoveLineDown<cr> | |
" Moving statements | |
nmap [s :action MoveStatementUp<cr> | |
nmap ]s :action MoveStatementDown<cr> | |
" Building, Running and Debugging | |
nmap ,c :action CompileDirty<cr> | |
nmap ,r :action Run<cr> | |
nmap ,R :action RunAnything<cr> | |
nmap ,b :action Debug<cr> | |
nmap ,c :action RunClass<cr> | |
nmap ,d :action DebugClass<cr> | |
nmap ,t :action RerunTests<cr> | |
nmap ,T :action RerunFailedTests<cr> | |
nmap ,p :action ToggleLineBreakpoint<cr> | |
nmap ,i :action ParameterInfo<cr> | |
" Useful Quick actions | |
nmap ,, :action QuickJavaDoc<cr> | |
nmap ,H :action LocalHistory.ShowHistory<cr> | |
nmap ,e :action JumpToLastChange<cr> | |
" AceJump shortcut | |
nmap <leader>j :action AceAction<cr> | |
nmap ,yy :action CopySourceRootPath<cr> | |
nmap ,ya :action CopyAbsolutePath<cr> | |
nmap ,l :action RecentLocations<cr> | |
nmap ,S :action ShowProjectStructureSettings<cr> | |
" Pin/Unpin active tab | |
nmap \p :action PinActiveTabToggle<cr> | |
" JumpToLastChange <M-S-BS> | |
" JumpToLastWindow <F12> | |
" QuickActionPopup <M-A-CR> | |
" QuickActions | |
" QuickChangeScheme <C-À> | |
" QuickDocCopy <M-C> | |
" QuickEvaluateExpression <M-A-F8> button=1 clickCount=1 modifiers=512 | |
" QuickFixes | |
" QuickImplementations <A- > <M-Y> | |
" QuickJavaDoc <F1> <C-J> button=2 clickCount=1 modifiers=128 | |
" Clojure specific mappings for Cursive | |
" nmap \a :action ActivateREPLToolWindow<cr> | |
"nmap \c :action :cursive.repl.actions/clear-repl<cr> | |
"nmap \l :action :cursive.repl.actions/load-file<cr> | |
"nmap \o :action :cursive.repl.actions/jump-to-output<cr> | |
"nmap \r :action :cursive.repl.actions/jump-to-repl<cr> | |
"nmap \t :action :cursive.testing.actions/run-ns-tests<cr> | |
"nmap \T :action :cursive.testing.actions/rerun-last-test<cr> | |
"nmap \C :action :cursive.testing.actions/remove-test-markers<cr> | |
" Python specific mappings | |
" Format code with Black fomatter | |
" nmap \p :action Tool_External Tools_Black<cr> | |
" https://youtrack.jetbrains.com/issue/VIM-1846 | |
nnoremap <BS> <C-S-6> | |
nnoremap <leader><leader> <C-S-6> | |
" nnoremap <leader><leader> :action Switcher<cr> | |
" Increase or decrease font size | |
nnoremap <C-=> :action EditorIncreaseFontSize<cr> | |
nnoremap <C--> :action EditorDecreaseFontSize<cr> |
Nice!
thanks a lot! ♥
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
nice