两种模式
vim有两种模式,一种是normal
模式,vim打开文件后就是这种模式,这种模式下能够识别vim命令,以下的各种命令就是在这种模式下进行的。
另一种是insert
模式,这种模式下可以进行文本编辑。
模式切换:
点击i
或a
进入insert
模式
点击esc
进入normal
模式
进入
insert
模式时i
或a
的区别:
i
:从光标前开始插入
a
:从光标后开始插入(实际上是光标向后跳了一位)
移动光标
1. 字符移动
-
h
:方向键←
-
j
:方向键↓
-
k
:方向键↑
-
l
:方向键→
2. 单词移动
-
w
:移动到下一个word的开始 -
b
:移动到当前word的开始 -
e
:移动到当前word的末尾
3. 行移动
-
0
:跳到行首 -
^
:跳到行首 -
$
:跳到行尾
4.文件首尾移动
-
gg
:跳到文件首 -
G
:跳到文件尾 -
3G
:跳到第三行首
命令和数字联合使用
这个功能很强大,在后面会经常使用到。
eg:
-
3w
:向后移动3个word -
9l
:向后移动9个字符位
查找和替换
1. 查找字符
-
f
:find
,查找字符
eg:
fa
:查找下一个字符a
3fs
:查找光标后第三个字符s
2. 查找单词
-
*
:跳到文本中下一个当前光标所在的单词 -
#
:上一个
eg:当前光标所在单词为the
,*
会跳转到光标后下一个the
3. 查找文本
-
/
:查找文本 -
n
:查找文本后跳转到下一个文本出现的地方,next -
N
:上一个
eg:
/test
:查找光标后的test
/test done
:查找光标后的test done
4. 替换字符
-
r
:替换光标所在字符
eg:re
:替换光标所在字符位e
输入
1. 重复输入文本
数字+i
+文本+esc
,会重复输入文本,其中i
表示insert
,当然还可以用a
eg:
3itest<esc>
:输出三次输出test
4ithis is a test<enter><esc>
:重复输入文本四次
2. 新建一行
-
o
:在光标所在的下一行插入一行并自动切换到insert模式 -
O
:上一行
3. 复制和粘贴
-
y
:复制 -
yy
:复制一行
eg:
3yy
或y3y
:复制三行
y0
或y^
:复制至行首,不含光标出字符
y$
:复制至行尾,含光标出字符
^y$
:复制整行
请举一反三
删除
1. 删除字符
-
x
:删除光标所在的字符 -
X
:删除光标所在的前一个字符
2. 删除单词
-
d
:删除命令 -
dw
:删除光标所在单词
eg:d5w
或5dw
:删除5个单词
3. 删除行
-
dd
:删除光标所在行
eg:d3d
或3dd
:删除3行
4. 删除后粘贴
用上面的命令删除文本后所删除的内容会被拷贝,使用p
命令可以粘贴前一个删除的内容。这就相当于对文本进行移动。
其他
-
.
:重复执行前一个的命令
eg:d2w
后.
:重复删除2个单词 -
u
:撤销操作
学习资源
- 推荐网站openvim,边学习边操作,加深记忆。
- 进阶:简明 VIM 练级攻略第四级