栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ideavim 使用分享

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ideavim 使用分享

ideavim 使用分享 ideavim 使用 ideavim介绍

ideavim是JetBrains官方开发的模拟vim插件,熟练ideavim的人可以更快的进行操作,大部分操作都可以用键盘来代替。
纯vim也能进行更高效的开发,但是一款适合自己深定义的配置,能够让人更加高效。配合ide的智能补全,就一个字爽

ideavim的安装

idea中自带的插件管理搜索ideavim然后选择安装

  • macos 打开idea配置 cmd + ,
  • windows 打开idea配置 ctrl + shfit + s
配置ideavim

ideavim 的配置可以直接在idea中进行
在idea中的最下面一行

就可以在这个配置文件内进行自己的自定义配置

我的ideavim配置
" ###### 替换
"           :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
希望支持

觉得这篇文章对你有帮助的话就给我给赞,你的支持就是我坚持的动力。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/685911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号