This is a collection of my personal configurations for various IDEs, including VSCode and JetBrains IDEs. It includes key mappings, settings, and plugins that I find useful for my workflow.

VSCode Vim Keymap

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
"vim.searchHighlightColor": "rgba(150, 255, 255, 0.3)",
"vim.surround": true,
"vim.leader": "<space>",
"vim.easymotion": true,
"vim.incsearch": true,
"vim.useSystemClipboard": true,
"vim.useCtrlKeys": true,
"vim.hlsearch": true,
"vim.handleKeys": {
"<C-a>": false,
"<C-f>": false
},
"vim.insertModeKeyBindings": [
{
"before": ["j", "k"],
"after": ["<Esc>"]
}
],
"vim.normalModeKeyBindings": [
{
"before": ["leader", "e"],
"commands": [
{
"command": "workbench.action.toggleSidebarVisibility"
}
]
},
{
"before": ["leader", "h"],
"commands": [
{
"command": ":noh"
}
]
},
{
"before": ["leader", "q"],
"commands": [":q"]
},
{
"before": ["leader", "w"],
"commands": [":w"]
},
{
"before": ["leader", "o"],
"commands": [
{
"command": "workbench.action.quickOpen"
}
]
},
{
"before": ["leader", "t"],
"commands": [
{
"command": "workbench.action.terminal.focus"
}
]
},
{
"before": ["leader", "d"],
"commands": [
{
"command": "workbench.action.closeActiveEditor"
}
]
},
{
"before": ["leader", "s"],
"commands": [
{
"command": "workbench.action.files.saveAll"
}
]
},
{
"before": ["H"],
"commands": [
{
"command": "workbench.action.previousEditor"
}
]
},
{
"before": ["L"],
"commands": [
{
"command": "workbench.action.nextEditor"
}
]
}
],
"vim.visualModeKeyBindings": [
{
"before": ["leader", "l"],
"commands": [
{
"command": "editor.action.indentLines"
}
]
},
{
"before": ["leader", "h"],
"commands": [
{
"command": "editor.action.outdentLines"
}
]
},
{
"before": ["J"],
"commands": [
{
"command": "editor.action.moveLinesDownAction"
}
]
},
{
"before": ["K"],
"commands": [
{
"command": "editor.action.moveLinesUpAction"
}
]
}
]

IdeaVim Keymap

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
" Basic setting
set showmode
set relativenumber
set clipboard += unnamed
set keep-english-in-normal

" Set leader key
let mapleader = " "

" Search setting
set incsearch
set hlsearch
set ignorecase
set smartcase

" Plugins
set easymotion
set surround
set NERDTree

" Basic key mapping
inoremap jk <esc>
nnoremap ; :
nnoremap <leader>h :nohlsearch<cr>
nnoremap <leader>d <c-d>
nnoremap <leader>u <c-u>
nnoremap <leader>q :wq<cr>
nnoremap <leader>w :w<cr>

" Windows operation
nnoremap \ <c-W>v
nnoremap - <c-W>s
nnoremap <leader>wh <c-W>h
nnoremap <leader>wj <c-W>j
nnoremap <leader>wk <c-W>k
nnoremap <leader>wl <c-W>l

" Tabs operation
nnoremap H gT
nnoremap L gt

" Config IdeaVim
nnoremap <leader>ve :e ~/.ideavimrc<cr>
nnoremap <leader>vs :source ~/.ideavimrc<cr>

" Coding
nnoremap gi :action GotoImplementation<cr>
nnoremap gd :action GotoDeclaration<cr>
nnoremap <leader>e :action ActivateProjectToolWindow<cr>
nnoremap <leader>gf :action GotoFile<cr>
nnoremap <leader>/ :action CommentByLineComment<cr>
vnoremap <leader>/ :action CommentByLineComment<cr>
nnoremap <leader>nj :action NewClass<cr>
nnoremap <leader>mr :action Maven.Reimport<cr>
nnoremap <leader>= :action ReformatCode<cr>
nnoremap <leader>- :action OptimizeImports<cr>