ideavim配置

ideavim配置

引言

引言:因为本人是重度vim用户,所以也想将clion、goland等ide也配置成vim,因此研究出以下配置

安装所需插件

  1. IdeaVim
  2. IdeaVimExtension
  3. IdeaVim-EasyMotion

.ideavimrc文件配置

创建并打开.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
" .ideavimrc is a configuration file for IdeaVim plugin. It uses
" the same commands as the original .vimrc configuration.
" You can find a list of commands here: https://jb.gg/h38q75
" Find more examples here: https://jb.gg/share-ideavimrc


"" -- Suggested options --
" Show a few lines of context around the cursor. Note that this makes the
" text scroll if you mouse-click near the start or end of the window.
set scrolloff=4

" Do incremental searching.
set incsearch

"--在搜索时忽略大小写
set ignorecase

"--将搜索匹配的文本高亮显示
set hlsearch

"--设置返回normal模式时回到英文输入法
set keep-english-in-normal

map Q gq


" Highlight copied text
Plug 'machakann/vim-highlightedyank'
" Commentary plugin
Plug 'tpope/vim-commentary'
Plug 'preservim/nerdtree'
Plug 'easymotion/vim-easymotion'


set easymotion
set surround
" 修改函数声明中或者函数调用语句中的整个参数
""" daa: 删除这个参数,包括逗号
""" dia: 删除这个参数,不包括逗号
""" cia: 删除这个参数,不包括逗号,并进入编辑模式
""" vaa: 选中这个参数,包括逗号

set argtextobj


" 设置 Leader 键为空格
let mapleader = " "

set clipboard=unnamedplus

" 设置tab空格数
set tabstop=4
set softtabstop=4
set expandtab

" 设置自动缩进
set autoindex
set shiftwidth=4

" 常用操作映射
nnoremap ww :wa!<CR> " 保存所有文件
nnoremap qq :q!<CR> " 退出
nnoremap <C-a> ggVG " 全选
"nnoremap da :%d<CR> " 清除当前文件所有内容
nnoremap wq :wq!<CR> " 保存并退出
nnoremap <C-z> :undo<CR> " 撤销
nnoremap <C-S-z> :redo<CR> " 重做

" 缩进
nnoremap <Tab> >>
vnoremap <Tab> >gv
nnoremap <S-Tab> <<
vnoremap <S-Tab> <gv

" 注释
nnoremap <C-/> :action CommentByLineComment<CR>
vnoremap <C-/> :action CommentByLineComment<CR>

" Buffer 和 Tab 管理
nnoremap <leader>h :action PreviousTab<CR>
nnoremap <leader>l :action NextTab<CR>

" 代码格式化
nnoremap <leader>lf :action ReformatCode<CR>
vnoremap <leader>lf :action ReformatCode<CR>
nnoremap <leader>lF :action ReformatInjectedLanguages<CR>
vnoremap <leader>lF :action ReformatInjectedLanguages<CR>


"打断点/解除断点
nmap dp <Action>(ToggleLineBreakpoint)
"调试
nmap db <Action>(Debug)
"运行当前编辑器中的文件或类(Shift + F10)
nmap <leader>rc :action RunClass<CR>
"重新运行最近一次运行的程序或测试(Ctrl+Shift + F10)
nmap <leader>rr <action>(Rerun)
"运行
map <leader>ru <action>(Run)
"Stop
nmap <leader>st <action>(Stop)on>(Run)
"显示当前打开文件的文件结构弹出窗口,其中包含文件中的类、方法、字段等结构(Alt + 7)
nmap <leader>cs <action>(FileStructurePopup)
"用于显示方法或函数的参数信息(Ctrl + p)
nmap <leader>sp <action>(ParameterInfo)

"展开所有代码折叠区域(Ctrl + Shift + 加号键)
nmap <leader>zo <action>(ExpandAllRegions)
"折叠所有代码折叠区域(Ctrl + Shift + 减号键)
nmap <leader>zc <action>(CollapseAllRegions)

" 向右分割窗口
nmap vs :vsplit<CR>

" 向下分割窗口
nmap sp :split<CR>

" 快速打开文件目录(alt+1)
"隐藏/显示窗口
nmap <leader>e <action>(HideAllWindows)

" 跳转到定义
nnoremap gd :action GotoDeclaration<CR>
" 跳转到操作
nnoremap ga :<C-u>action GotoAction<CR>
" 跳转到实现
nnoremap gi :<C-u>action GotoImplementation<CR>
" 跳转到文件
nnoremap gf :<C-u>action GotoFile<CR>
"跳转到下一个错误或警告
nmap ge <action>(GotoNextError)

" 跳转到以输入字母为开头的文本
map <leader><leader>b <Plug>(easymotion-bd-f)
" 跳转到以输入字母为结尾的文本
map <leader><leader>e <Plug>(easymotion-bd-e)
" 跳转到任意位置
map <leader><leader>a <Plug>(easymotion-jumptoanywhere)
" 跳转到下面的行
map <leader><leader>j <Plug>(easymotion-j)
" 跳转到上面的行
map <leader><leader>k <Plug>(easymotion-k)

ideavim配置
https://moonfordream.github.io/posts/ideavim配置/
作者
Moon
发布于
2024年12月25日
许可协议