首先,我们需要了解vim的三种模式
- 命令模式
- 插入模式
- 底行(末行)模式
三种模式的切换如下:
进入vim后,处于命令模式,通过i/a/o可以进入插入模式,通过冒号(:)可以进入底行模式。在底行模式和插入模式下,通过Esc返回命令模式。
一.命令模式下的操作
1.移动光标组合键
(1)上下左右
k、j、h、l 分别表示上、下、左、右
(2)文档开头、结尾
gg:文档开头
G:文档结尾
(3)上下翻页
ctrl+b(或者pageUp):上翻页
ctrl+f(或者pageDown):下翻页
(4)行首行尾
数字0(或者home):行首
^:本行的第一个非空字符
$(或者end):行尾
2.替换和删除
(1)删除一行
dd
(2)替换首次出现的old
?/old/new
(3)替换行中所有的old
:/old/new/g
(4)替换文件中所有的old
:% s/old/new/g
3.复制粘贴
(1)复制一行
yy
(2)粘贴到光标后
p
(3)粘贴到光标前
P
(4)选中文本(使用较多)
v:字符选中命令
V:行选中命令
按v或者V,通过上下左右选中文本,选中后,可以执行下面的操作
- d ------ 剪切操作
- y -------复制操作
- p -------粘贴操作
- ^ --------选中当前行,光标位置到行首(或者使用键盘的HOME键)
- $ --------选中当前行,光标位置到行尾(或者使用键盘的END键)
4.撤销
(1)撤销前一条命令
u
操作:在输人错误时,从“插入模式”退回命令模式,然后使用u命令就可以撤销了
(2)恢复撤销
Ctrl + r
操作:在命令模式下,如果不小心输入u,可以使用ctrl+r命令恢复
5.搜索
(1)正向搜索
操作:输入/,后面跟要搜索的字符串,然后按回车。如果查找下一个,按“n”即可。
(2)反向搜索
操作:输入?,后面跟要搜索的字符串,然后按回车
(3)继续搜索
n
(4)定位行(使用较多)
:行数
例如: ":35"表示定位到35行
6.显示行数
显示行数::set nu 或者 :set number
取消行数显示::set nonu 或者 :set nonumber
7.将多行代码前后移动一个tab的
-
连续的十几行到50行内的左右移动
a.第m行到第n行右移一个tab :m,n>
b.第m行到第n行左移一个tab :m,n< -
连续的i行的左右移动(i > 100)
a.向左:移动到要处理的首行,输入ma;移动到要处理的尾行,输入<'a
b.向右,即将第二个命令中的 ‘<’ 改为 '>'即可
二、插入模式下的操作
进入插入模式
i:在光标左侧输入文本(使用最多)
a:在光标右侧输入文本
o:在光标的下一行添加新行
I:在光标的开头输入文本
A:在光标的末尾输入文本
O:在光标的上一行添加新行
注:只有在插入模式下才可以输入文字
三、底行模式下的操作
(1):q
在未做修改的情况下退出
(2):q!(使用较多)
放弃所有修改,退出
(3):wq(使用较多)
将编辑的内容写入原始文件,并退出
(4):wq!
当:wq退出不小的时候,强行退出
(5):w file
强编辑的内容写入file文件。相当于另存为