【必会】vim必知必会的快捷键

运维学习交流群-点我加群:598972270

一. 准备环境及vim基本操作

准备环境

cat /etc/services  /etc/sysconfig/network-scripts/ifcfg-eth0 >>/tmp/vim.log

基本操作

打开文件

vi  /oldboy/oldboy.txt

进入编辑模式

按i(小写字母I)进入编辑模式

退出并保存

  • 按esc,退出编辑模式
  • 输入 :wq 保存退出

注意这里要有:(英文冒号)

显示文件内容检查

cat /oldboy/oldboy.txt

vi/vim模式转换

vi/vim常用的有3种模式,这里通过上面的例子来看下这三种模式之间如何变化的。
默认所在模式:命令模式(可以输入各种快捷键等等)
编辑模式(修改文件内容 )也有替换模式(按r或R进入)
底行模式 (按:或/的时候进入)

【必会】vim必知必会的快捷键_第1张图片
老男孩教育-vi-vim模式转换图.png

二. 移动光标

1.1 上下左右移动光标

   ↑k
←h    →l(小写字母L)
   ↓j

1.2 把光标移动到文件的第1行

gg
1G
:1

1.3 把光标移动到文件的最后一行

G
:$

1.4 把光标移动到文件的第100行

100gg
100G
:100

1.5 把光标移动到这一行的行首

0(数字0)
^

1.6 把光标移动到这一行的结尾

$

三. 编辑(移动并编辑)

在当行下面插入一个空行并进入编辑模式

o(小写字母o)

删除光标所在位置到行尾的内容并进入编辑模式

C(大写字母C)

快速到达行尾并进入编辑模式

A

在当行上面插入一个空行并进入编辑模式

O(大写字母O)

删除光标所在位置到行尾的内容

D
d$

清空当前行并进入编辑模式

cc

四. 复制 删除 粘贴

复制光标所在行

yy

粘贴

p相当于是paste(粘贴)

多次粘贴

3p

删除/剪切

dd

删除当前行到文件结尾(最后一行)的内容

dG

把第3行移动到底10行后面

:3move10
或者写为mo

把第3行复制到底10行后面

:3copy10
或者写为co

把文件的第3行到第5行移动到第10行

:3,5move10

把文件的第3行到第5行复制到第10行

:3,5copy10

五. 其他

显示行号

:set nu

取消显示行号

:set nonu

查找

/你要找的内容
默认向下搜索

继续向下查找
n
继续向上查找
N


?你要找的内容

默认向上搜索


取消高亮显示
:noh

撤销当前操作

u
undo

恢复刚才的操作

ctrl + r

vim查询帮助

:help G
:help :wq
:h G

替换

vim默认在当前行替换

:s#yes#no#g
:.s#yes#no#g .(点)表示当前行


替换某个范围内容

:10783,$s#yes#no#g #从文件的第10783行到最后一行中把yes替换为no


在文件中所有行中进行替换

:%s#yes#no#g
:1,$s#yes#no#g

六. 批量操作

VISUAL BLOCK 可视块模式(批量编辑模式)

批量删除

1.ctrl + v 可视块(批量编辑模式)
2.选择要删除的内容 通过上下左右
3.删除 d/x

批量增加(需要使用vim命令,vi不支持)

1.ctrl + v 可视块(批量编辑模式)
2.选择 区域
3.按shift + i 进入编辑模式
4.编辑
5.按esc退出 并等待

七. vim/vi故障案例

参考:

八. vi/vim必知必会快捷键图

注意:图片太大,请打开图片,然后选择查看原图

【必会】vim必知必会的快捷键_第2张图片
老男孩教育课程思维导图-vi-vim快捷键系列.png
扫我入群:598972270

你可能感兴趣的:(【必会】vim必知必会的快捷键)