【必会】vim必知必会的快捷键
2019-04-08 本文已影响472人
李导996
一. 准备环境及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模式转换图.pngvi/vim常用的有3种模式,这里通过上面的例子来看下这三种模式之间如何变化的。
默认所在模式:命令模式(可以输入各种快捷键等等)
编辑模式(修改文件内容 )也有替换模式(按r或R进入)
底行模式 (按:或/的时候进入)
二. 移动光标
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必知必会快捷键图
老男孩教育课程思维导图-vi-vim快捷键系列.png 扫我入群:598972270注意:图片太大,请打开图片,然后选择查看原图