Vim 基础使用

2018-02-04 开发和实践 #Vim #Neovim #Productivity
更新日志
2019-07-20 更新所属分类

接触Vim快一个月了,喜欢上了Vim多模式操作的特性。

在艰难地适应Vim后(其他开发工具使用插件模拟Vim键位),效率有明显的提高。

Vim 快捷键文字版 Vim 快捷键图,多个版本

光标移动

字符间跳转

在Vim中,使用 h, j, k, l 实现字符间的移动,也就是正常使用中的方向键。具体对应关系为:

看键盘布局,可以发现这4个方向键布局有以下规律, 可以更方便记住键位:

  1. h 和 l 是左、右,而 h 和 l 处于这4个方向键的第一个和最后一个位置,也就是在首、尾。
  2. j 和 k 是下、上,在中间

如果方向键仅仅只能有以上操作就谈不上高效了,Vim 部分操作支持配合数字操作,上下左右加上数字后可以实现光标往某个方向移动提移动几个字符,例如:

因为是通过相对行号移动光标,我们直接开启 set number 后,是需要自己去算跳转几行,这样反而降低了效率。在7.3版本中,Vim 加入了相对行号的支持:set relativenumber 。开启相对行号后,光标所有行的上、下行都是相对当前行显示行号的。

词、句间跳转

行间跳转

行间移动除了使用快捷键外,还可以使用命令,例如:

展示区域

内容操作

常用的内容操作

如果需要更强大的内容操作,可以看看下面与跳转指令结合的方式,仅列举部分删除操作,可以自己尝试其他组合

可以自己尝试将复制+跳转实现多行快捷复制!!!

批量替换

在Vim中,批量替换可以使用正则实现。 例如要将 “学习要多看看” 替换为 “学习要多试试”

:%s/学习要多看看/学习要多试试/g

替换的多种方式

查找

在Vim中,使用 / 开始查找,如需要查找 Hello , 则在Normal下输入 /Hello 即可。使用

查找的多种方式

部分情况处理

无权限保存

在编辑无权限操作的文件后,提示无权限保存,在最开始我都是复制修改的内容,然后重新sudo 打开。 其实在Vim内部可以实现直接保存:

:w !sudo tee %

具体实现方式请自行了解




文章作者:eightpigs
创作时间:2018-02-04
更新时间: 2019-03-04
许可协议:CC by-nc-nd 4.0