一、常用模式
vim常用的模式主要有以下三种:命令模式、插入模式、末行模式
- 命令模式
vi的默认模式,可以移动光标、复制、删除、粘贴,按下 Esc 键可以从其他模式返回命令模式
- 插入模式
可以输入文本编辑文件,命令模式下通过 i、a、o、c、r、s等命令进入
- 末行模式
可以进行文件保存或退出等操作,命令模式下通过 : 进入,命令执行后将切换回命令模式
二、基本操作
1.打开文件
- 单文件打开
vim filename
,打开文件,默认定位第一行vim filename +num
, 定位到第num行vim filename +/para
,定位到para所在行vim filename
+ ,定位到文件末尾
- 多文件打开
vim filename1 filename2 filename3
默认显示第一个文件
2.末行模式
- 保存退出
:w
保存:w filename
另存为:q
退出:wq
保存文件并退出:q!
强制退出,不保存修改:wq!
保存文件后强制退出
- 列出行号
:set nu
显示所有行号:nu
显示光标所在行号:set nonu
取消行号显示
- 查找字符
/word
从光标位置向下搜索,按n
切换下一个,N
切换上一个?word
从光标位置向上搜索,按n
切换下一个,N
切换上一个
- 替换
:s/x/y
将光标所在行第一个 x 替换为 y:n,m s/x/y
将第 n 到 m 行中,每行的第一个 x 替换为y:% s/x/y
将每一行的第一个 x 替换为 yg
全局,例::s/x/y/g
将光标所在行的所有 x 替换为 y
- 末行模式下还可用
!
访问Shell执行命令,例::! ls /home
3.命令模式
- 光标移动
h
左j
下k
上l
右$
移动到行末0
,^
移动到行首gg
移动到第一行行首G
移动到末行行首nG
n为数字,移动到第 n 行行首n+
向下移动 n 行n-
向上移动 n 行- 以字词为单位:
w
移动到下一个字首e
移动到下一个字末b
移动到上一个字首Ctrl + b
上翻一页Ctrl + f
下翻一页Ctrl + u
上翻半页Ctrl + d
下翻半页
- 删除恢复
x
删除光标所在位置一个字符nx
删除 n 个字符- 剪切:
dd
剪切光标所在行d[w|e|b|$|^|G]
剪切光标移动范围内的内容,以dG
为例,删除光标到最后一行的所有内容u
撤销上一步
- 复制粘贴
yy
复制一行y[w|e|b|$|^|G]
复制光标移动范围内的内容,以yG
为例,复制光标到最后一行的所有内容p
粘贴到光标所在位置之后
- 替换
r
替换光标所在处字符R
进入替换模式,替换光标经过的字符,直到按下ESC
- 进入插入模式
i
光标左侧插入a
光标右侧插入o
在下一行插入s
删除光标所在字符后插入I
光标所在行首插入A
光标所在行尾插入O
在上一行插入S
删除光标所在行