进入Vim
创建一个文件进入编辑
bash
vi filename
一、编辑模式介绍
在 vi / vim 编辑器中,删除字符的操作取决于你当前所处的模式。vi 有三种主要模式:
- 普通模式(Normal mode):启动后默认进入,用于导航和执行命令
- 插入模式(Insert mode):用于输入文本
- 命令行模式(Command-line mode) :通过
:进入,用于保存、退出等
| 模式 | 说明 | 进入方式 | 退出方式 |
|---|---|---|---|
| 普通模式(Normal mode) | 默认模式,用于导航、编辑命令(如删除、复制、跳转) | 启动 Vim 自动进入;按Esc或Ctrl+[ 从其他模式返回 |
按i/a/o等进入插入模式,或: 进入命令行模式 |
| 插入模式(Insert mode) | 输入文本内容 | 在普通模式下按: •i(当前光标前插入) •a(光标后插入) •o(下一行新建行) •I(行首插入) •A(行尾插入) |
按Esc或Ctrl+[ 返回普通模式 |
| 命令行模式(Command-line mode) | 执行保存、退出、搜索、替换等命令 | 在普通模式下按:(冒号)就是shift+; |
按Enter执行命令,或Esc 取消返回普通模式 |
💡 还有可视模式(Visual mode)(用于选择文本):
v:字符级选择V:整行选择Ctrl+v:块选择(列模式)
二、普通模式(Normal Mode)常用命令
1.光标移动
| 命令 | 作用 |
|---|---|
h/j/k/l |
左 / 下 / 上 / 右 |
w |
跳到下一个单词开头 |
b |
跳到上一个单词开头 |
e |
跳到当前/下一个单词结尾 |
0(零) |
跳到行首 |
^ |
跳到行首第一个非空白字符 |
$ |
跳到行尾 |
gg |
跳到文件开头 |
G |
跳到文件末尾 |
5G或:5 |
跳到第 5 行 |
Ctrl+d/Ctrl+u |
向下 / 向上翻半页 |
Ctrl+f/Ctrl+b |
向下 / 向上翻整页 |
2.编辑操作(删除、复制、粘贴)
| 命令 | 作用 |
|---|---|
x |
删除当前字符 |
X |
删除前一个字符 |
dw |
删除到下一个单词开头 |
d$或D |
删除到行尾 |
d0 |
删除到行首 |
dd |
删除整行 |
5dd |
删除5 行 |
yy |
复制(yank)当前行 |
5yy |
复制 5 行 |
yw |
复制一个单词 |
p |
在光标后粘贴 |
P |
在光标前粘贴 |
u |
撤销(undo) |
Ctrl+r |
重做(redo) |
.(点) |
重复上一次编辑操作 |
3.查找与替换
| 命令 | 作用 |
|---|---|
/word |
向下搜索word,按n下一个,N 上一个 |
?word |
向上搜索 |
:%s/old/new/g |
全文将old替换为new(全局) |
:s/old/new/g |
仅当前行替换 |
:%s/old/new/gc |
全文替换,每处确认(c = confirm) |
✍️ 三、插入模式(Insert Mode)操作
- 正常打字输入即可
- 常用快捷键(部分终端支持):
Backspace:删除前一个字符Delete:删除后一个字符(部分环境不支持)Ctrl+h:等效 BackspaceCtrl+w:删除前一个单词Ctrl+u:删除整行已输入内容
⚠️ 插入模式下无法使用
x、dd等命令!需先按Esc回普通模式。
📜 四、命令行模式(Command-line Mode)常用命令
在普通模式下按: 进入:
| 命令 | 作用 |
|---|---|
:w |
保存文件 |
:q |
退出(无修改时) |
:wq或:x |
保存并退出 |
:q! |
强制退出(不保存) |
:w filename |
另存为filename |
:set nu :set number |
显示行号 |
:set nonu |
隐藏行号 |
:syntax on |
开启语法高亮 |
:!ls |
执行 shell 命令(如:!pwd) |
:r filename |
读入另一个文件内容到当前光标下 |
:help |
打开帮助文档 |