Vim 编辑器简介
Vim(Vi IMproved)是一个高度可配置的文本编辑器,广泛用于编程、脚本编写和其他需要高效文本编辑的场景。它支持多种操作模式,包括命令模式、插入模式、可视模式和选择模式等,这使得它在处理复杂文本编辑任务时非常强大。
一、基本概念与模式
- 命令模式:默认启动进入此模式,可以执行各种命令,如移动光标、删除文本、复制粘贴等。
- 插入模式:通过按
i
键进入,允许直接输入文本。 - 可视模式:用于选择文本块进行操作,可通过
v
(字符选择)、V
(行选择)、Ctrl+v
(列选择)进入。 - 选择模式:类似于可视模式,但更适合鼠标用户。
- 命令行模式:按
:
后进入,可用于执行高级命令,如保存文件、退出编辑器等。
二、常用指令
1. 基础操作
-
进入插入模式
i
: 在当前光标前插入a
: 在当前光标后插入I
: 跳到行首并进入插入模式A
: 跳到行尾并进入插入模式
-
移动光标
hjkl
: 左下上右方向键w
: 移动到下一个单词开头e
: 移动到下一个单词结尾0
: 行首$
: 行尾gg
: 文件顶部G
: 文件底部Ctrl+f
: 向下翻页Ctrl+b
: 向上翻页
-
删除文本
x
: 删除光标下的字符dd
: 删除整行dw
: 删除至单词末尾d$
: 删除至行尾dG
: 删除从当前位置到文件末尾的所有内容
-
撤销/重做
u
: 撤销Ctrl+r
: 重做
-
复制粘贴
yy
: 复制当前行yw
: 复制一个单词p
: 粘贴剪切板内容P
: 在光标之前粘贴
-
查找替换
/pattern
: 查找指定模式n/N
: 下一个/上一个匹配项:%s/old/new/g
: 替换所有匹配项
-
保存退出
:w
: 保存:q
: 退出:wq
: 保存并退出:q!
: 强制退出不保存
2. 实操案例
案例 1:快速编辑文件
vim example.txt
- 输入
i
进入插入模式,输入一些文本。 - 按
Esc
返回命令模式。 - 输入
:wq
保存并退出。
案例 2:批量注释代码
假设你有一段 Python 代码:
print("Hello, World!")
print("This is a test.")
print("End of file.")
- 打开文件后,使用
V
进入行选择模式,选择所有行。 - 输入
:
,然后输入s/^/# /
来在每行开头添加注释符号。
案例 3:搜索并替换文本
如果你想要将所有的 print
替换为 display
:
:%s/print/display/g
案例 4:多窗口编辑
如果你想同时查看两个文件或同一文件的不同部分:
:split filename
:vsplit filename
Ctrl+w
加方向键可以在窗口间切换。
案例 5:宏录制
假设你需要重复一系列复杂的编辑操作:
- 按
q
后跟一个字母(如a
),开始录制宏。 - 执行你的编辑操作。
- 再次按
q
结束录制。 - 使用
@a
回放宏,@@
重复上次宏。
案例 6:自动补全
在插入模式下,按 Ctrl+n
或 Ctrl+p
可以根据上下文自动补全单词。
案例 7:标签导航
对于大型项目,使用标签可以帮助快速导航:
ctags -R .
生成标签文件后,在 Vim 中按 Ctrl+]
可以跳转到定义处,Ctrl+t
返回。