推荐先安装完整版的vim,这样一些按键乱码问题会自动解决。然后注意中文输入法状态下可能会造成你切换vi模式的困扰。
进入vi编辑器第一条,记住按 i
进入编辑模式,下面的一些按键都需要按 Esc
退出编辑模式才有效。
常用快捷键
这里按键是针对常见的键盘,MAC下按键对应会有所不同。
- Ctrl + f 屏幕向下移动一页
-
G 移动到最后一行
-
gg 移动到第一行 推荐就直接用
1G
行跳转操作,100G
意思是跳转到第100行。 - dd 删除当前行
- yy 复制当前行
- p 粘贴
- u 撤销
- r redo
块选择
按键 v
进入块选择,然后移动光标进行块选择。
- y 复制块
- d 删除块
查找
匹配某个单词
/Lao Zi
这样我们就开始搜索精确匹配含有“Lao Zi”这个字符串了,如果你按
n
那么就是继续查找“Lao Zi”,也就是查找下一个
查找历史
如果输入 /
然后按方向键,就如同我们在终端上直接按方向键可以调用上一个命令一样,现在我们可以调用上一次的查找命令。这个有时很有用的。
反向查找
使用问号 ?
什么就是反向查找。同样 n
,下一个也是反向的,你可以理解n是将上一次的查找命令重做一次。
锚定行的开始
这个是正则表达式的知识了:
^
符号表示一行的开始。现在我们执行如下查找命令:
/^Th
这算是一个小型的正则表达式匹配模式了,用自然语言来描述就是:匹配以T为行首,后面还跟一个字母h的文本。我们看到一些The和This开头的行都匹配进去了,请读者试试 /^This
来精确匹配以T为行首,后面跟着字母his的文本。
锚定行的结尾
$
符号表示一行的结尾。
空行的表示就是 /^$
。这样将会匹配每一条没有任何字符的空行。
替换
全局替换
%s/源字符串/目的字符串/g
这里 %
表示整个文档,
快速移动
- shift+g 快速移动到文档尾部
- gg 快速移动到文档头部
vimrc配置
在当前用户主文件夹下的 .vimrc
文件里面可以进行一些vi编辑器的定制配置。
然后在当前vi编辑器下输入 :
,然后写下下面的这些配置,会在当前编辑器上生效。
解决Backspace键乱码和方向键乱码
set nocompatible
set backspace=2
自动缩进
set autoindent
显示行号
set nu
开启语法高亮
syntax on