forked from JustinHoyt/.vim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathideavimrc
110 lines (89 loc) · 2.72 KB
/
ideavimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
set surround
set commentary
set multiple-cursors
set hlsearch
set scrolloff=3
set ignorecase smartcase
set showmode
set relativenumber
set history=100000
let mapleader = " "
nnoremap <leader>rp :action Run<cr>
nnoremap <leader>rd :action Debug<cr>
nnoremap <leader>rs :action Stop<cr>
nnoremap <leader>b :action ToggleLineBreakpoint<cr>
nnoremap <leader>/ :action SearchEverywhere<cr>
nnoremap <leader>ev :edit ~/.ideavimrc<CR>
nnoremap <leader>= :action ReformatCode<CR>
nnoremap [<leader> O<esc>j
nnoremap ]<leader> o<esc>k
nnoremap [q :action PreviousOccurence<cr>
nnoremap ]q :action NextOccurence<cr>
" EASY SYSTEM CLIPBOARD COPY/PASTE
noremap <leader>y "*y
noremap <leader>Y "*Y
noremap <leader>p "*p
noremap <leader>P "*P
" CLEAR THE SEARCH BUFFER WHEN HITTING RETURN
nnoremap <leader><cr> :nohlsearch<cr>:c
" CUSTOM
" Exit vim without saving faster
nnoremap QQ :action CloseEditor<cr>
" MORE NATURAL WINDOWS MAPPINGS
nnoremap <C-J> <C-W>j
nnoremap <C-K> <C-W>k
nnoremap <C-L> <C-W>l
nnoremap <C-H> <C-W>h
" SPLIT TAB VERTICALLY/HORIZONTALLY
nnoremap <C-w>w :action SplitHorizontally<CR>
nnoremap <C-w>v :action SplitVertically<CR>
nnoremap <C-w>o :action MoveEditorToOppositeTabGroup<CR>
nnoremap <C-w>m :action Unsplit<CR>
" CODE REFACTORING
nnoremap <leader>rn :action RenameElement<cr>
"DEBUGGER
nnoremap <leader>bp :action ToggleLineBreakpoint<CR>
" COMMENTS
nnoremap gcc :action CommentByLineComment<cr>
vnoremap gcc :action CommentByLineComment<cr>
vnoremap gcC :action CommentByBlockComment<cr>
" UNIMPAIRED MAPPINGS
nnoremap [<space> O<esc>j
nnoremap ]<space> o<esc>k
nnoremap [m :action MethodUp<cr>
nnoremap ]m :action MethodDown<cr>
nnoremap [c :action VcsShowPrevChangeMarker<cr>
nnoremap ]c :action VcsShowNextChangeMarker<cr>
nnoremap gcc :action CommentByLineComment<cr>
nnoremap <leader>sv :source ~/.ideavimrc<cr>
nnoremap gi :action GotoImplementation<cr>
nnoremap gd :action GotoDeclaration<cr>
" built-in navigation to navigated items works better
nnoremap <c-o> :action Back<cr>
nnoremap <c-i> :action Forward<cr>
" but preserve ideavim defaults
nnoremap g<c-o> <c-o>
nnoremap g<c-i> <c-i>
" easy system clipboard copy/paste
noremap <space>y "*y
noremap <space>Y "*Y
noremap <space>p "*p
noremap <space>P "*P
nnoremap <c-l> <c-w>l
nnoremap <c-j> <c-w>j
nnoremap <c-h> <c-w>h
nnoremap <c-k> <c-w>k
" code refactoring
nnoremap <space>rn :action RenameElement<cr>
" BUILT-IN NAVIGATION TO NAVIGATED ITEMS WORKS BETTER
nnoremap <c-o> :action Back<cr>
nnoremap <c-i> :action Forward<cr>
" BUT PRESERVE IDEAVIM DEFAULTS
nnoremap g<c-o> <c-o>
nnoremap g<c-i> <c-i>
" BUILT IN SEARCH LOOKS BETTER
nnoremap / :action Find<cr>
" BUT PRESERVE IDEAVIM SEARCH
nnoremap g/ /
" TODO -- CODE FOLDING...
noremap <leader>sv :source ~/.ideavimrc<CR>