一、什么是 vim?
Unix 系统都会内建 vi 文本编辑器,但目前我们使用比较多的是 vim 编辑器。vim是从vi发展过来的一款文本编辑器,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vim 键盘图
image.png二、vim 的使用
vim 共分为三种模式:
- 命令模式(Command mode)
- 插入\编辑模式(Insert mode)
- 末行命令模式(Last line mode)
1-命令模式(Command mode)
vim打开文件后,默认进入了命令模式
。此模式下敲击键盘动作会被vim识别为命令,而非输入字符。比如我们此时按下i
,并不会输入一个字符,i
被当作了一个命令。
命令模式下的操作:
- 1-移动光标
- 2-删除操作
- 3-撤销恢复操作
- 4-复制粘贴操作
- 5-可视模式
- 6-查找操作
- 7-替换操作
- 8-查看man文档
以下是命令模式
下一些常用的命令:
i 切换到输入模式,以输入字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。
#1、 移动光标
移动光标: h j k l
移动到当前行行首数字: 0
移动到当前行行尾: $
移动到文件的首部: gg
移动到文件的尾部: G
跳转到对应的行 : 行号加G (比如跳转到20行 : 20G ; 跳转到100行 100G)
#2、 删除操作
删除光标当前所指的字符 :x(小写)
撤销刚刚删除的内容:u
删除光标前面的字符:X (大写)
删除单词 : dw
删除本行 当前光标之前的内容 :d0
删除本行 当前光标之后的内容 :d$
删除光标当前整行 :dd
删除多行:比如删除第10行到第15行, 光标移动到15行,然后按: 10dd
#3、 撤销操作
撤销:u
反撤销:ctrl + r
#4、 复制粘贴
复制: yy
复制多行: 比如复制第10行到第15行, 光标移动到15行,然后按: 10yy
粘贴: p(光标所在的下一行)
粘贴:P(光标所在行)
#5、 可视模式
切换到可视模式:v
选择内容:h、j、k、l
操作:复制 y, 删除 d
#6、查找操作
方式一:首先输入一个反斜杠 /; 然后再/后面跟上要查找的内容回车
方式二:也可以 ? 跟上要查的内容
方式三:把光标移动道查找的的单词上面,按#, 然后高亮的结果上、下切换 N / n
#7、替换字符
缩进:
向右 >>
向左 <<
# 8、查看man文档
# 9、在命令模式下保存退出 ZZ
2-输入模式(Insert mode)
在输入模式
中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
2-插入\编辑模式
在该模式下,我们可以自由输入内容
3- 末行命令模式(Last line mode)
在命令模式下按下:(英文冒号)就进入了末行命令模式
。该模式下可以输入单个或多个字符的命令,可用的命令非常多。
比如:
* :q 退出程序
* :w 保存文件
* :wq 保持并退出
* : x == wq
# 分屏
:sp 将屏幕分成两部分 : 水平
:vsp 将屏幕分成两部分 : 垂直
:sp(vsp) + 文件名 水平或垂直拆分窗口显示两个不同的文件
:wqall 保存并退出所有屏幕
:wq 保持并退出光标所在的屏幕
:ctrl + ww 切换两个屏幕
在末行模式下跳转 : 输入行号回车
就可以跳转
在末行模式下做字符串替换:例如把光标所在行的所有的tom都替换成jack
s/tom/jack/g
// * g代表是全部替换,如果不加g就只会替换第一个,加上g之后发现29行有2个tom,就都会替换成jack
%s/tom/jack/g 这个是把所有行中的tom都替换成jack
27,30s/tom/jack/g 这个是把27行到30行中的所有tom都替换成jack
image.png
网友评论