Vim 基础使用

2018-02-04 [Vim] #Vim #Neovim #Productivity
更新日志
2021-06-11 更新所属分类
2022-03-21 更新文章中中英文间隔

接触 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
更新时间:2021-06-11
许可协议:CC by-nc-nd 4.0