-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathideavimrc
135 lines (105 loc) · 3.5 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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
" enable easymotion plugin"
set easymotion
" no audio bells, only visual "
set visualbells
set noerrorbells
" paste buffer is normal buffer on linux "
set clipboard+=unnamed
set clipboard+=ideaput
" enable surround plugin for ideavim "
set surround
" highlight search results "
set hlsearch
" searching starts immediately when typing "
set incsearch
" ignores case by default in search "
set ignorecase
" doesn't ignore case when UPPERCASE letters exist in search "
set smartcase
" makes $var count as word " -- DISABLED
" set iskeyword+=$
" keep 5 lines between cursor and edge of screen "
set scrolloff=5
" keep longer history "
set history=1000
" hybrid line numbers -- deactivated due to performance"
"set number
set number relativenumber
" well duh "
"let mapleader = ','
map <Space> <Leader>
" shorter timeout between compound commands "
set timeoutlen=150
" easy mode switching - kj "
imap kj <Esc>
" easy removal of searchhighlighting "
nnoremap ,<Space> :nohlsearch<Cr>
" use IntelliJ JoinLines because it's smart "
set ideajoin
" go back to former mode after refactoring "
set idearefactormode=keep
" Replace all idea shortcuts with mapleader "
nmap <leader>a :action $SelectAll<CR>
nmap <leader>b :action GotoDeclaration<CR>
nmap <leader>c :action $Copy<CR>
nmap <leader>d :action EditorDuplicate<CR>
nmap <leader>e :action RecentFiles<CR>
nmap <leader>f :action Find<CR>
nmap <leader>g :action GotoLine<CR>
nmap <leader>h :action TypeHierarchy<CR>
nmap <leader>i :action ImplementMethods<CR>
nmap <leader>m :action EditorScrollToCenter<CR>
nmap <leader>n :action FileChooser.NewFolder<CR>
nmap <leader>o :action OverrideMethods<CR>
nmap <leader>p :action ParameterInfo<CR>
nmap <leader>q :action GuiDesigner.QuickJavadoc<CR>
nmap <leader>r :action Replace<CR>
nmap <leader>s :action SaveAll<CR>
nmap <leader>t :action Vcs.UpdateProject<CR>
nmap <leader>u :action GotoSuperMethod<CR>
nmap <leader>v :action $Paste<CR>
nmap <leader>w :action EditorSelectWord<CR>
nmap <leader>x :action $Cut<CR>
nmap <leader>y :action EditorDeleteLine<CR>
nmap <leader>[ :action EditorCodeBlockStart<CR>
nmap <leader>] :action EditorCodeBlockEnd<CR>
" Put search results in the middle of the screen "
nnoremap n nzz
nnoremap N Nzz
" easy tab switching via H and L "
nmap H gT
nmap L gt
" kill current tab "
nmap gx :action CloseEditor<CR>
" append ; at the end of the line via <Leader>; "
nnoremap <Leader>; A;<Esc>
inoremap <Leader>; <Esc>A;<Esc>
" acejump with s, word mode with S -- deactivated, using acejump-lite"
"noremap s :action AceAction<CR>
"noremap S :action AceWordAction<CR>
noremap s :action emacsIDEAs.AceJump<CR>
noremap S :action emacsIDEAs.AceJumpWord<CR>
"delete whole function with dm (only working in php class files - experimental)"
nnoremap dm [mV/^\s}<CR>d:nohlsearch<CR>
"Y to yank until end of line "
map Y y$
" jump to selection begin when yanking, not first yanked char in buffer "
vnoremap y mxy`x
" go to next / previous file or line "
nnoremap <A-H> :action Back<CR>
nnoremap <A-L> :action Forward<CR>
"nnoremap <M-H> :action Back<CR>
"nnoremap <M-L> :action Forward<CR>
" jump to end of line via C-e"
nnoremap <C-e> :action EditorLineEnd<CR>
inoremap <C-e> <Esc>:action EditorLineEnd<CR>i
" easy code splits "
nnoremap <C-0> :action SplitVertically<CR>
nnoremap <C--> :action SplitHorizontally<CR>
nnoremap <C-=> :action Unsplit<CR>
nnoremap <C-m> :action MoveEditorToOppositeTabGroup<CR>
nnoremap <C-h> <C-W>h
nnoremap <C-l> <C-W>l
nnoremap <C-j> <C-W>j
nnoremap <C-k> <C-W>k
nnoremap <Leader><TAB> :action NextWindow<CR>