学了这么久的VIM,当然还是要用在开发上。下面来介绍一下ideavim这个插件。
IdeaVim是用于基于IntelliJ平台的IDE的Vim仿真插件。IdeaVim支持许多Vim功能,包括普通/插入/可视模式,动作键,删除/更改,标记,寄存器,一些Ex命令,Vim regexp,通过〜/ .ideavimrc配置,宏,窗口命令等。另外还可以自定义ideavim的快捷键,定制专属的快捷键。

如果没学过VIM的,可以学习一下之前的文章
编辑神器VIM命令总结(一)
编辑神器VIM命令总结(二)
编辑神器VIM命令总结(三)

安装IDEAVIM

File -> Setting -> Plugins -> Marketplace ,然后搜ideavim,安装然后重启可。

要注意很多vim的命令在ideavim中用不了,但是对于我们开发人员来说已经足够了。

基本命令

进入编辑区,进入的是命令模式。在命令l模式中,就能愉快的使用H/J/K/L键了。
点i或a,可进入输入模式。

模式互换

命令模式 -> 编辑模式 : i 或 a键
编辑模式 -> 命令模式 : Esc

话不多说,上干货

自定义ideavim配置

若需要自定义ideavim的快捷键,只需要创建一个.ideavim文件,并放在C盘的Users的用户目录下,然后重启idea,文件就可以生效了。


看着是不是一脸蒙蔽?没关系,下面让我来讲解一下

.ideavim配置文件讲解

在.ideavim中,注释写法为:

" xxx

第一条命令let mapleader=','就是vim命令调用模式要用到的命令,具体怎么用,下面将会进行讲解。

接下来的set开头的命令,都是vim配置命令,比如搜索时开启高亮,显示行数等等。
然后就是命令nnoremap
首先说一下命令map的意思:比如ctrl + d在命令模式是向下滚屏,在编辑模式是减少缩进(可能不准确),那么如果使用命令map来覆盖ctrl + d命令,则会将命令模式编辑模式下的命令都给覆盖掉。而nnoremap命令则只会覆盖命令模式下的命令。这里再讲一下命令inoremap,这个命令表示的是在编辑模式下覆盖命令,不过这个命令一般用得少。

自定义快捷键

比如命令: nohisearch,是指消除搜索之后的高亮显示。如果定义自定义快捷键,则这样定义:
nnoremap <Leader>sc :nohisearch<CR>
这里的就是开头定义的,。命令的前半部分nnoremap <Leader>sc代表的就是在命令模式下,使用命令,sc代替命令: nohisearch(是规定,具体啥意思我也没查到)。所以在IDEA的编辑区在命令模式下使用命令,sc,就可以实现消除高亮的搜索结果,效果如图:


下面再来讲解ideavim的action命令。先来在idea中输入命令```:actionlist``,然后回车即可看到非常多的action命令,如图所示:

可以看到有非常多的action命令。很多命令都非常实用,比如

Go to Class  //打开查找类的搜索框
Go to File //打开查找File的搜索框

实用这些action命令,只需要输入:

: action GotoClass

聪明的读者们,应该想到了实用快捷键来代替这些action快捷键,只需要在.ideavim中自定义即可了。

下面粘贴一部分作者积累的自定义快捷键:

" ==================================================
" 查询所有的action命令,可以使用命令: `:actionlist`
" ==================================================
" 将当前行给注释掉
nnoremap <Leader>;; :action CommentByLineComment<CR>" 指定InspectCode
nnoremap <Leader>ic :action InspectCode<CR>nnoremap <Leader>oi :action OptimizeImports<CR>nnoremap <Leader>pm :action ShowPopupMenu<CR>
" 选择调试配置
nnoremap <Leader>cd :action ChooseDebugConfiguration<CR>
" 选择运行配置
nnoremap <Leader>rC :action ChooseRunConfiguration<CR>
" 重命令元素
nnoremap <Leader>re :action RenameElement<CR>
" 重命名文件
nnoremap <Leader>rf :action RenameFile<CR>
" 重运行
nnoremap <Leader>rr :action Rerun<CR>
nnoremap <Leader>si :action StepInto<CR>

下面是快捷键PDF的下载链接,有需要的小伙伴直接去下载吧,如果对小伙伴们有用的话,点个赞吧。
链接:https://pan.baidu.com/s/1ZvfoRxjW7klMfgm-qIA6Vw
提取码:4k6q

小白都能看懂的超详细ideavim自定义快捷键讲解相关推荐

  1. GoogleTest从入门到入门,小白都能看懂的gtest详细教程

    单元测试 项目管理和技术管理中做单元测试,衡量一个软件是否正常的标准,良好的单元测试以及足够多的覆盖率,至少保证关键功能,关键业务的覆盖率接近100%. gtest是谷歌公司发布的一个跨平台(Linu ...

  2. 随机森林的特征 是放回抽样么_机器学习超详细实践攻略(10):随机森林算法详解及小白都能看懂的调参指南...

    一.什么是随机森林 前面我们已经介绍了决策树的基本原理和使用.但是决策树有一个很大的缺陷:因为决策树会非常细致地划分样本,如果决策树分得太多细致,会导致其在训练集上出现过拟合,而如果决策树粗略地划分样 ...

  3. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第三讲 这是小白都能看懂的实战教程 手把手教你Python Web全栈开发 的 ...

  4. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 1)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第一讲 博主博客文章内容导航(实时更新) 更多优质文章推荐: 收藏!最详细的P ...

  5. c语言程序和plc程序的区别,一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂!...

    原标题:一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂! 你真的了解PLC吗?你知道PLC与计算机的本质区别吗?我来简单解释一下吧. 1.PLC可以工作在极其恶劣的电磁环境中 如果我们把计算机 ...

  6. 红色买绿色出 简单易操作的买卖点公式 散户小白都能看懂

    好久没来csdn了,在最初,CSDN是用来记录我做前端写的笔记,后面在工作期间,接触了产品,就转岗了,慢慢的,csdn就很少写了,但是我觉得这里可以作为我记录心得的一个地方,还是挺好的. 因为产品规划 ...

  7. 兄弟,用大白话告诉你小白都能看懂的Hadoop架构原理

    本文来自:石杉的架构笔记 目录 一.前奏 二.HDFS的NameNode架构原理 一.前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术. 包括HDFS(分布式文件系统),YARN ...

  8. 小白都能看懂的关于Mixins机制的理解

    前言 ​ 在学习Flutter源码的时候,看到各种复杂的mixin和on,为了便于后续Flutter的学习,这里有必要一起来份详细Dart 的 Mixin机制. 什么是mixins 首先看看官方文档的 ...

  9. 兄弟,用大白话给你讲小白都能看懂的分布式系统容错架构

    点击上方"蓝字", 右上角选择"设为星标" 周一至周五早11点半!精品文章准时送上! 本文来自石杉的架构笔记 目录 (1)TB级数据放在一台机器上:难啊! (2 ...

最新文章

  1. 电脑基础c语言,C语言经验: 如何从零基础学习C语言?
  2. python菜鸟100例精选
  3. php 读取excel转数组中,thinkphp5使用PHPExcel读取excel csv到数组
  4. 新增一个主键自增长_使用技巧之——MyBatis如何返回插入主键
  5. ArcEngine在个人地理数据库下创建要素类
  6. aspnet ajax 1.0中的according控件
  7. u大师装iso系统linux,【iso怎么用u盘装系统】iso镜像怎么用u盘装_iso用u盘装系统-系统城...
  8. C语言 知识点总结完美版
  9. 第五章 用正三和弦为平稳旋律配和声
  10. 计算机存储器由半导体,计算机存储器
  11. 计算机网络在信息时代中的作用
  12. Edge 浏览器的收藏夹文档位置——最新版windows10和edge
  13. 东北大学第二场算法题解报告
  14. RabbitMQ 开发时指定消息消费者的方式
  15. JavaScript将后端获取到的byte数组转为文件
  16. MVC详解:mvc是什么?为什么要用MVC?MVC工作原理以及MVC优缺点
  17. mysql医学数据库_现代医学模式的特点是(  )
  18. MySQL5数据库更改默认等待连接时间(wait_timeout)
  19. Android UUID主键生成器
  20. 【免费教程】 SWMM在城市水环境治理中的应用及案例分析

热门文章

  1. Ubuntu系统内核查看
  2. 零基础Bootstrap入门教程(0)--教程背景与目录
  3. 超级计算机16号台风,今年“最怪”的16号台风“贝碧嘉”来了!对广东有严重风雨影响...
  4. 【重磅】视频号与公众号可相互绑定了,自媒体圈沸腾了 !
  5. centos服务器环境搭建
  6. 静态链表(学习笔记)
  7. 基于Paddle的OCR算法在汽车仪表自动化测试的应用
  8. 微信营销干货:用互联网思维做微信营销
  9. ACM练级日志:Level 3的线段树标记下传
  10. 【计量经济学导论】07. 时间序列模型