-
Notifications
You must be signed in to change notification settings - Fork 0
/
.ideavimrc
178 lines (142 loc) · 5.26 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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# MEMO ###########
# `:actionlist [フィルタ]` でIdeaVimから呼び出せる機能を参照できる。 ref: https://ikenox.info/blog/ideavim-search-actionlist/
# `:action [アクション名]` でアクションの呼び出しができる。これで試してバインドを考える。
source ~/.vimrc
set clipboard=unnamed,unnamedplus
" .ideavimrcを編集できるようにする
nnoremap \e :e ~/.ideavimrc<CR>
nnoremap \r :action IdeaVim.ReloadVimRc.reload<CR>
" 画面をシンプルにする。
nnoremap <D-w>z :action ToggleDistractionFreeMode<CR>
" Kinesis用の設定。CmdをCtrlにリダイレクト
nnoremap <D-r> <C-r>
nnoremap <D-v> <C-v>
nnoremap <D-u> <C-u>
nnoremap <D-d> <C-d>
nnoremap <D-r> <C-r>
nnoremap <D-Enter> :<C-u>action CodeCompletion<CR>
nnoremap [f :<C-u>action MethodUp<CR>
nnoremap ]f :<C-u>action MethodDown<CR>
" タグジャンプを gj 起点で実行できるように変更
nnoremap K :<C-u>action QuickJavaDoc<CR>
nnoremap gjK :<C-u>action GotoDeclaration<CR>
nnoremap gjk :<C-u>action GotoTypeDeclaration<CR>
nnoremap gji :<C-u>action GotoImplementation<CR>
nnoremap gjs :<C-u>action GotoSuperMethod<CR>
nnoremap gjt :<C-u>action GotoTest<CR>
nnoremap gju :<C-u>action ShowUsages<CR>
" リファクタリング関連のキーバインド
nnoremap cre :<C-u>action RenameElement<CR>
nnoremap cS :<C-u>action ChangeSignature<CR>
nnoremap cts :<C-u>action ChangeTypeSignature<CR>
" 前回の変更場所に移動する。
nnoremap g; :<C-u>action JumpToLastChange<CR>
nnoremap g, :<C-u>action JumpToNextChange<CR>
## 便利な操作関連
" C-w は死守
nnoremap <D-w> <Nop>
" 現在のタブ以外を閉じる
nnoremap <D-w>o :<C-u>action CloseAllEditorsButActive<CR>
" IDEアクションを検索
nnoremap <Space>a :<C-u>action GotoAction<CR>
" コード生成メニューを表示
nnoremap <Space>G :<C-u>action Generate<CR>
" 新規クラスを生成
nnoremap <Space>gn :<C-u>action NewClass<CR>
" メソッドをオーバーライド
"nnoremap <Space>go :<C-u>action OverrideMethods<CR>
"
"" コンストラクタを生成
"nnoremap <Space>gc :<C-u>action GenerateConstructor<CR>
"
"" Getter を生成
"nnoremap <Space>gg :<C-u>action GenerateGetter<CR>
"
"" Setter を生成
"nnoremap <Space>gs :<C-u>action GenerateSetter<CR>
"
"" Getter/Setter を生成
"nnoremap <Space>ga :<C-u>action GenerateGetterAndSetter<CR>
" equals を生成
"nnoremap <Space>ge :<C-u>action GenerateEquals<CR>
" テストメソッドを生成
nnoremap <Space>gt :<C-u>action GenerateTestMethod<CR>
" 現在のバッファをフォーマット
nnoremap <Space>= :<C-u>action ReformatCode<CR>
" アウトラインを表示
nnoremap <Space>o :<C-u>action FileStructurePopup<CR>
" ファイルを検索
nnoremap <Space>f :<C-u>action GotoFile<CR>
" ファイルを全文検索
nnoremap <C-S-f> :<C-u>action FindInPath<CR>
" クラスを検索
nnoremap <Space>s :<C-u>action GotoClass<CR>
" シンボルを検索
nnoremap <Space>S :<C-u>action GotoSymbol<CR>
" Terminalを表示
nnoremap <Space>t :<C-u>action ActivateTerminalToolWindow<CR>
" 直近開いたプロジェクトを表示する
nnoremap <Space>P :<C-u>action ManageRecentProjects<CR>
" ブレークポイントをトグルする。
nnoremap <Space>b :<C-u>action ToggleLineBreakpoint<CR>
" 実行
nnoremap <Space>rn :<C-u>action Run<CR>
" クラスを実行
nnoremap <Space>rm :<C-u>action RunClass<CR>
" デバッグ実行
nnoremap <Space>d :<C-u>action Debug<CR>
" 実行を停止
nnoremap <Space>T :<C-u>action Stop<CR>
" リラン
nnoremap <Space>rr :<C-u>action Rerun<CR>
" なぜか動かないのでコメントアウト
" Back
" nnoremap <D--> :<C-u>action Back<CR>
" Forward
" nnoremap <D-s--> :<C-u>action Forward<CR>
## ウィンドウ操作関連
" 現在のバッファを閉じる
nnoremap <Space>q :<C-u>action CloseContent<CR>
" 最後の閉じたバッファを開く
nnoremap <Space>Q :<C-u>action ReopenClosedTab<CR>
nnoremap <D-w>\ :action SplitVertically<CR>
nnoremap <D-w>- :action SplitHorizontally<CR>
nnoremap <D-w>' :action Unsplit<CR>
nnoremap <D-w>m :action MoveEditorToOppositeTabGroup<CR>
sethandler <c-j> a:vim
sethandler <c-k> a:vim
nnoremap <D-w>h <c-w>h
nnoremap <D-w>l <c-w>l
nnoremap <D-w>j <c-w>j
nnoremap <D-w>k <c-w>k
nnoremap <TAB> :action NextTab<CR>
nnoremap <s-TAB> :action PreviousTab<CR>
nnoremap <Space>en :action EditSourceInNewWindow<CR>
nnoremap <Space>n :action NextWindow<CR>
nnoremap <Space>q :action CloseContent<CR>
nnoremap <Space>qa :action CloseAllEditors<CR>
" 文字をZoomIn, ZoomOut
nnoremap <C-S-=> :action EditorIncreaseFontSize<CR>
nnoremap <C-S--> :action EditorDecreaseFontSize<CR>
nnoremap <C-S-\> :action EditorResetFontSize<CR>
### Plug: NERDTree
## Usage
# j/k ... Go up and down
# q ... Close the project pane
# p ... Jump to the root pane
# o ... Open file or directory
# go ... Open file but fucus on the project pane
# s ... Open file but in a new vertical split.
set NERDTree
nnoremap <D-t> :NERDTree<CR>
### Plug: Surround
## Usage
# cs ... To change th surroundings
# ds ... To delete the surroundings
# ys ... To add surroundings
# s ... To surround the currently selected text.
## Example
# cs"' ... Change the surrounding from double quotes to single quotes.
# ds" ... Delete the closest double-quotes surroundings.
# ysiw<b> ... Surround the current word with <b> tag.
set surround