目录

前言

Vim有什么特点?

为什么我要安利你在 IEAD 中使用Vim?

Vim

一、环境配置

二、Vim的使用

2.1、方向键 hjkl

2.2、​编辑复制&粘贴

2.3、选择代码块并删除

2.4、块级删除

2.5、各种插入模式

2.5.1、以下是gif演示

2.6、jump(解放鼠标~)


前言

Vim有什么特点?

vim是一个高度可配置的文本编辑器,非常稳定,可以高效的创建任何文本、持久的、多级撤销树、支持数百种变成语言和格式、与许多工具集成;

为什么我要安利你在 IEAD 中使用Vim?

1、首先,高效!!!让你体会到什么是 IDEA + Vim = 起飞 这种感觉~

2、如果你使用过 Linux ,修改过服务器上的系统配置文件,就必不可免的使用 vim 编译器;如果不熟练,操作起来是很麻烦的;

3、IDEA 中安装了 vim 插件后,就是一个互补的状态,各自发挥优势,大大提升编程效率~

Vim

Vim 还是有一部分学习成本的,入门稍微有一点难,如果你能坚持看完本文,一旦入门以后就会对她爱不释手(像不像你们的女朋友 doge~);


一、环境配置

在 IDEA 中需要以下三个插件:

  • IeadVim
  • IdeaVim-EasyMotion
  • IdeaVimExtension

步骤如下:

当你的光标变成了小方块后,就说明你的 vim 插件安装好了~,如下图


二、Vim的使用

2.1、方向键 hjkl

这也是刚开始上手使用Vim最不习惯的操作,没有什么好说的,克服这一关,多练就行~

以下为视频演示:

vim方向键

2.2、复制&粘贴

程序员自嘲:我是CV工程师~; 复制粘贴还是要第一时间学会滴~

yy 复制当前行

p 粘贴

如下:

2.3、选择代码块并删除

使用键v k d

补充:也可以使用dd删除一行

gif步骤如下:

1. v 进入内容选择模式(选择代码块);

2. kkk 向上移动3行,并选中;

3. d 删除选中部分;

2.4、块级删除

常用di* 和 da*,这里的*表示边界字符,可以是 双引号,小括号,大括号 等;

比如你要删除双引号中的内容:"hello world";你就可以通过 di" 进行删除,如果不仅想删除双引号里的内容,还想把双引号一起删除,就可以使用 da" 来完成;删除完双引号里的内容想立即切换到 插入模式 也可以使用 ci" 来完成;

用 di" 删除 双引号 里的内容,删除后想立即进入 插入模式 可以用 ci"  如下:

用 di( 删除 括号里的内容,删除后想立即进入 插入模式 可以用 ci(   如下:

用 di{ 删除 { 里的内容,删除后想立即进入 插入模式 可以用 ci{  如下:

2.5、各种插入模式

汇总如下:

  • a 在光标后,进入插入模式;
  • A 在本行结尾,进入插入模式;
  • i 在光标前,进入插入模式;
  • I 在本行开头,进入插入模式
  • o 在本行之后新增一行,并进入插入模式;
  • O 在本行之前新增一行,并进入插入模式;
  • s 删除当前字符,并进入插入模式;
  • S 删除当前行中的所有文本,并进入插入模式;

2.5.1、以下是gif演示

a 在光标后,进入插入模式,如下:

A 在本行结尾,进入插入模式,如下:

i 在光标前,进入插入模式,如下:

I 在本行开头,进入插入模式,如下:

o 在本行之后新增一行,并进入插入模式,如下:

O 在本行之前新增一行,并进入插入模式,如下:

2.6、jump(解放鼠标~)

通过vim真的是减少了很多鼠标操作,接下来再来看看一些更加便利的方案!

1、  f{word}  是用来查找 当前行,当前光标后,是否存在某个字符 {word}  若存在光标就会自动移动过去;

2、  $ 跳转到行尾,^ 跳转到行首;

3、  % 括号匹配跳转 () [] {}

4、  *跳转到i上一个字符定位处;

5、  [n]h/j/k/l  数字加上方向键 代表重复运行多少次;

  • 例如 10h 向左移动10个字符,3j 向下移动三行;

6、  G移动到最后一行,gg移动到第一行;

7、  H 移动到当前页的第一行,M 移动到编辑器的中部,L 移动到当前页的最后一行;

8、  [n]w 移动到后面的 第[n]个单词 的开始位置;

  • e 移动到下一个单词末尾
  • b 移动到上一个单词的开头

三、Action配置

IDEA中很多操作都可以抽象为一个Action,如下:

  • Rename File 文件重命名;
  • RenameElement 重命名变量 或者 类名;
  • GotoImplementation 去接口实现;
  • 复制Class引用 CopyReference;
  • ......

例如,Vim中可以通过插入命令模式直接调用action,如下,调用 RenameElement 重命名:


IDEA中如何使用Vim?看完本教程,让你用IDEA用到爽~(建议收藏)相关推荐

  1. 医院计算机管理在品管圈中的应用,品管圈在医院管理中怎么用?看完就明白了...

    原标题:品管圈在医院管理中怎么用?看完就明白了 品管圈(Quality Circle,QCC),又称"质量小组",是一种企业对基层员工的自主管理.全员品管及持续改善最佳的管理活动, ...

  2. 箱线图怎么看_K线的48种不同类型全解(建议收藏),教你怎么看懂K线图

    ID:K线助手 来源:公众号 链接:K线的48种不同类型全解(建议收藏),教你怎么看懂K线图 中国起步较晚,1990年我国股市开市时直接起用了K线,但对K线的研究.使用一直局限于日本人的研究成果,主要 ...

  3. 聚类分析在用户行为中的实例_看完这篇,你还敢说不懂聚类分析?

    点击上方蓝色字关注我们~ 大数据分析中的应用,最常用的经典算法之一就是聚类法,这是数据挖掘采用的起步技术,也是数据挖掘入门的一项关键技术.什么是聚类分析?聚类分析有什么用?聚类算法有哪些?聚类分析的应 ...

  4. 不了解MES系统中的看板管理?看完本文就懂了

    如果想要在生产车间中,让生产过程管理都处在"看得见"的状态,那么看板可视化管理的导入是你的不二选择. MES看板包括四个部分:生产任务看板.各生产单位生产情况看板.质量看板和物料看 ...

  5. 什么软件可以提取视频中的音频?看完这篇文章你就知道了

    随着短视频行业的发展,很多小伙伴每天都离不开刷短视频,那你有没有遇到过这样的情况:一个视频中有一首好听的背景音乐,但是在其它地方又找不到下载渠道,只能将视频中的背景音乐给提取出来.那么要怎么样才能快速 ...

  6. 看完这个教程,不怕Xshell中修改字体有困难

    很多新用户在刚接触Xshell这款软件时,肯定有很多不熟悉的地方,其实这款软件还是挺人性化的,可以自己设置的地方有很多,比如可以任由你调节文字大小,如果你觉得默认显示太小时可以进行该项操作,下面就一起 ...

  7. MyBatis 中 #{} 和 ${} 的区别看完这篇文章一目了然

    我们知道 MyBatis 中对于参数的赋值有两种方式, 一种是使用 #{}, 一种是使用 ${}, 这两种参数赋值的方式对于有些情况都可以正常使用, 但是针对某些场景, ${} 却会报错. 本篇文章主 ...

  8. 入阿里P6?最少啃完这本阿里最新Java多线程编程手册,建议收藏

    前言 Java多线程与并发编程现在已经属于Java面试的重灾区,特别是第一轮面试经常被问到. 很多同学掌握不好主要就是两个点:对并发的体系化掌握不好,还有就是其中的技术深度点掌握不好. 为了方便大家更 ...

  9. 【不看即后悔系列】学习的真相及方法【建议收藏】

    一开始,同学们都打着我要"学习"的口号,但你真的会学习吗?下面来了解学习的真相! 目录 一.什么是学习 二.时间管理.战胜拖延症 三.选择恐惧症和收集控 四.如何记笔记 五.如何选 ...

最新文章

  1. 《Python程序设计》题库(2)
  2. java内存 phd文件抓取_您可以从IBM PHD Java堆转储中提取字符串的值吗?
  3. 收集一些常用的正则表达式
  4. Android之BaseAdapter—convertView回收机制与动态控件响应
  5. JAVA如何代码静态检查术语_Sonar代码静态检查规则-JAVA篇(二)
  6. 找了个学习uboot makefile的好地方 不过不让转载 那就把网址分享一下吧
  7. Redis数据库实现原理(划重点)
  8. python数据可视化-matplotlib之散点图sactter函数详解
  9. 续招商、保利后,纬衡科技又签地产大鳄碧桂园
  10. #2:在颓宅的边缘开始试探——4
  11. linux内核 4g拨号,openwrt 基于qmi的 3G|4G拨号
  12. linux安装Aria2和部署AriaNg Web服务
  13. 第四回:产品创新性思维方法论
  14. 【svn】 如何在Linux服务器上添加svn账户的教程
  15. RSR 服务器 进行RTMP推流报错:Failed to update header with correct duration Failed to update header with
  16. 武汉工程大学信息与计算科学专业面向对象程序设计课程设计题
  17. 微信小程序分销系统开发优势,商城源码开发价格
  18. 称球问题——经典智力题推而广之三
  19. cad工具箱详细讲解_分享一个好用的工具箱
  20. 51单片机内部定时器/计数器实验

热门文章

  1. 数据分享 | 中国典型城市建筑物实例数据集
  2. Java代码实现消消乐游戏中的消除功能
  3. android studio中清除代码中的无效引用
  4. jdk8新特性之for循环
  5. Scipy sparse中关于CSC矩阵的自我理解
  6. 一分钟带你了解最真实的服务器
  7. hp服务器重装系统按什么键,惠普重装系统按什么键|惠普u盘装系统按哪个键
  8. Spring中所有注解详细解析(全)
  9. python获取当前时间和前一天时间(datetime)
  10. IT人的地摊不就是开源么