ideavim是JetBrains官方开发的模拟vim插件,熟练ideavim的人可以更快的进行操作,大部分操作都可以用键盘来代替。
纯vim也能进行更高效的开发,但是一款适合自己深定义的配置,能够让人更加高效。配合ide的智能补全,就一个字爽
idea中自带的插件管理搜索ideavim然后选择安装
- macos 打开idea配置 cmd + ,
- windows 打开idea配置 ctrl + shfit + s
ideavim 的配置可以直接在idea中进行
在idea中的最下面一行
就可以在这个配置文件内进行自己的自定义配置
" ###### 替换 " :s/old/new - 用new替换当前行第一个old。 " :s/old/new/g - 用new替换当前行所有的old。 " :n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old。 " :%s/old/new/g - 用new替换文件中所有的old。 " :%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。 " :%s/$/xxx/g - 在每一行的行尾插入xxx,$表示行尾。 " 有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写(ignore)。 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""Setting"""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 设置leader键" let mapleader=" " set timeoutlen=500 " 防止按leader键乱移动 nnoremap希望支持" 相对数字 set number set relativenumber " 屏幕滚动时在光标上下方保留5行预览代码 set so=5 " 取消高亮 " 设置寻找高亮 set hlsearch set incsearch " 设置字不超过窗口 set wrap " 突出水平显示 set cursorline " 设置tab键和自动缩进 set tabstop=4 set shiftwidth=4 set softtabstop=4 " 下一行和上一行的格式相同 set autoindent set cindent " 设置窗口分屏方向 set splitright set splitbelow " 不区分大小写 set ignorecase " 取消高亮 nnoremap sc :nohlsearch """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""UI""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " change colorscheme nnoremap fc :action QuickChangeScheme " 改变视图 nnoremap cv :action ChangeView """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""Plugins"""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " === " === Open Plugins " === set NERDTree set surround set multiple-cursors set commentary "能用gcc gc+motion来注释代码 set keep-english-in-normal-and-restore-in-insert "普通模式强制以英文模式 set easymotion set argtextobj set highlightyank set textobj-entire " === " === multiple-cursors " === nmap NextWholeOccurrence xmap NextWholeOccurrence nmap SkipOccurrence xmap SkipOccurrence nmap RemoveOccurrence xmap RemoveOccurrence nmap AllWholeOccurrences xmap AllWholeOccurrences " === " === easymotion " === nmap ss (easymotion-s2) nmap E (easymotion-s) nmap sl (easymotion-bd-jk) nmap sw (easymotion-bd-w) " use easymotion to replace orginal f F t T " nmap f (easymotion-fl) " nmap F (easymotion-Fl) " nmap t (easymotion-tl) " nmap T (easymotion-Tl) " vmap E (easymotion-s) " vmap f (easymotion-fl) " vmap F (easymotion-Fl) " vmap t (easymotion-tl) " vmap T (easymotion-Tl) " === " === NERDTree " === """"Usage"""" " o open menu in NERDTree " O Recursively open the selected directory " i Open selected file in a split window (horizontal) " gi Same as i, but leave the cursor on the NERDTree " s Open selected file in a new vsplit " gs Same as s, but leave the cursor on the NERDTree " m open menu in NERDTree " A Zoom (maximize/minimize) the NERDTree window" " K Jump up inside directories at the current tree depth " J Jump down inside directories at the current tree depth " x Close the current nodes parent (not close flie) " X Recursively close all children of the current node (not close flie) """"End"""" " open NERDTree nnoremap e :NERDTree " close NERDTree nnoremap Q :NERDTreeClose " 弹出文件结构信息(相当于显示大纲) nnoremap o mm`m:action FileStructurePopup """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""Move"""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 取消vim s键原生映射 nnoremap s vnoremap s " 快速关闭buffers nnoremap X :q " 使用tab键快速切换buffers nnoremap gt nnoremap gT vnoremap gt vnoremap gT " 左右移动视野 nnoremap zh 50zh nnoremap zl 50zl " 像vscode一样行移动 vnoremap J :action MoveLineDown vnoremap K :action MoveLineUp " 多行缩进在visual mode vnoremap > >gv vnoremap < y "+y nnoremap p "+p nnoremap P "+P vnoremap y "+y vnoremap p "+p vnoremap P "+p " 快速复制到行尾 vnoremap Y y$ nnoremap Y y$ " 插入模式快速移动 inoremap inoremap " 其他模式快速移动 nnoremap H ^ nnoremap L $ vnoremap H ^ vnoremap L $ " 快速进行缩进 nnoremap > >> nnoremap < << " 后退功能 "nnoremap gb :action Back "nnoremap gb :action JumpToLastChange """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""Debug"""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 打上断点或取消断点 nnoremap dt :action ToggleLineBreakpoint " 取消所有的断点 nnoremap dT :action Debugger.RemoveAllBreakpointsInFile " debug上次运行的类 nnoremap dd :action Debug " debug当前(now)类 nnoremap dc :action DebugClass " debug神器 " StepInto (F7) nnoremap di :action ForceStepInto " ForceStepInto(CMD + SHIFT + F7) nnoremap dI :action ForceStepInto " StepOver (F8) nnoremap do :action StepOver " Resume (跳到下个断点运行) nnoremap dr :action Resume " StepOut (SHIFT+F8) nnoremap du :action StepOut " debug强制运行到光标处 nnoremap dC :action ForceRunToCursor """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""RUN"""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 设置运行配置 (未知) " nnoremap rc :action RunConfiguration " 运行上次运行类 nnoremap rr :action Run " 运行当前(now)类 nnoremap rc :action RunClass " 停止运行 nnoremap rp :action Stop """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""重构篇"""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 抽取方法重构(不熟悉) " nnoremap om :action ExtractMethod " 抽取接口重构(不熟悉) " nnoremap oi :action ExtractInterface """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""窗口篇"""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 激活run的运行窗口 nnoremap wr :action ActivateRunToolWindow " 隐藏窗口(windows hide) nnoremap wh :action HideActiveWindow " 激活debug的运行窗口 nnoremap wd :action ActivateDebugToolWindow " 窗口最大化windows max(就是保留代码编辑区[文件树什么都关掉,但是下面窗口还在]) nnoremap z :action MaximizeToolWindow " vim窗口操作 nnoremap j nnoremap k nnoremap h nnoremap l nnoremap sc c nnoremap sv :vsplit nnoremap sg :split "关闭到只剩当前tab栏 nnoremap bo :action CloseAllEditorsButActive """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""Create""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 新建类 nnoremap nc :action NewClass " 新建项目 nnoremap np :action NewProject " 新建文件 (嘻嘻,啥都可以直接用快捷键建立,一个字爽) nnoremap ne :action NewElement " 删除当前文件 (快速删除) nnoremap nd :action SafeDelete " 复制文件元素 nnoremap ny :action CopyElement " 代码环绕(快速添加if 或者while) nnoremap ns :action SurroundWith vnoremap ns :action SurroundWith """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""文件和跳转""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 重命名文件 nnoremap rn :action RenameFile "最近改动文件间相互跳转 nnoremap rf mm`m:action RecentChangedFiles " 查找文件 nnoremap ff mm`m:action GotoFile " 最近查看文件间相互跳转 nnoremap fr mm`m:action RecentFiles " 查找用法 nnoremap fu :action FindUsages "跳转到声明 nnoremap gd mm`m:action GotoDeclaration " 打开General菜单 nnoremap go :action Generate "跳转到实现类 nnoremap gi mm`m:action GotoImplementation " 查找类 nnoremap gc mm`m:action GotoClass " 跳转SuperMethod nnoremap gs mm`m:action GotoSuperMethod " 目前还不熟悉 (后面搞懂回来补充) nnoremap gf mm`m:action FileStructurePopup " 搜索 action nnoremap ga :action GotoAction "相当于鼠标右键 nnoremap sp :action ShowPopupMenu """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""LSP"""""""""""""""""""""''"""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 格式化代码 nnoremap lf :action ReformatCode " 跳转下一个错误 nnoremap lj :action GotoNextError " 跳转上一个错误 nnoremap lk :action GotoPreviousError " 命名元素 nnoremap lr :action RenameElement " 快速显示文档 nnoremap K :action QuickJavaDoc " idea智能提示 nnoremap ga :action ShowIntentionActions " 显示错误描述 nnoremap gl :action ShowErrorDescription " 弹出参数信息(打类的时候有奇效) nnoremap gp :action ParameterInfo " 弹出类型信息 (显示这个是什么类型) nnoremap st :action expressionTypeInfo """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""Git"""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 显示git菜单 nnoremap gm :action Git.Menu
觉得这篇文章对你有帮助的话就给我给赞,你的支持就是我坚持的动力。



