目录
一、Vim概述
1. 文件打开方式
2. 模式切换
二、命令模式
1. 移动与跳转
2. 复制与粘贴
3. 剪切与撤销
三、编辑模式
1. 插入
2. 替换
四、末行模式
1. 保存与退出
2. 查找与替换
3. 分屏显示
4. 命令执行

一、Vim概述
1. 文件打开方式
-
vim 文件路径:尽量用Tab补全文件名,若文件不存在则新建
-
vim +行数 文件路径:打开文件时,光标移动到指定行
-
vim +/关键字 文件路径:打开文件时,关键字高亮显示
2. 模式切换
-
命令模式 -> 编辑模式:a/A、i/I、o/O、r/R
-
命令模式 -> 末行模式:英文的冒号(Shift ;)
-
编辑模式 -> 命令模式:Esc
-
末行模式 -> 命令模式:Esc
-
编辑模式和末行模式相互转换:通过命令模式中转
二、命令模式
1. 移动与跳转
| 指令 | 作用 |
|---|---|
| h、← | 左移 |
| l、→ | 右移 |
| k、↑ | 上移 |
| j、↓ | 下移 |
| ^ | 行首 |
| $ | 行尾 |
| gg | 文件首行 |
| G | 文件末行 |
| nG | 文件第n行 |
| w、W | 下一单词 |
2. 复制与粘贴
| 指令 | 作用 |
|---|---|
| yy | 复制一行 |
| nyy | 复制n行 |
| y^ | 复制光标处到行首 |
| y$ | 复制光标处到行尾 |
| yw | 复制一个单词 |
| ynw | 复制n个单词 |
| yG | 复制到文件尾 |
| y1G | 复制到文件首 |
| p | 粘贴到下一行 |
| P | 粘贴到上一行 |
3. 剪切与撤销
| 指令 | 作用 |
|---|---|
| x | 剪切一个字符 |
| nx | 剪切n个字符 |
| X | 剪切光标前一个字符 |
| dd | 剪切一行 |
| ndd | 剪切n行 |
| d^ | 剪切到行首 |
| d$ | 剪切到行尾 |
| dG | 剪切到文件尾 |
| d1G | 剪切到文件首 |
| dw | 剪切一个单词 |
| u | 撤销上一次操作 |
| U | 撤销一行内的操作 |
三、编辑模式
1. 插入
| 指令 | 作用 |
|---|---|
| a | 光标后插入 |
| A | 行末插入 |
| i | 光标前插入 |
| I | 行首插入 |
| o | 下一行插入 |
| O | 上一行插入 |
2. 替换
| 指令 | 作用 |
|---|---|
| r | 替换一个字符 |
| R | 进入替换模式 |
| Ctrl r | 撤销的恢复 |
在编辑模式下,底行会提示当期是“Insert模式”还是“Replace模式”。
四、末行模式
1. 保存与退出
| 指令 | 作用 |
|---|---|
| :w | 保存 |
| :q | 退出 |
| :! | 强制执行 |
| :wq | 保存并退出 |
| :q! | 强行退出,不保存新修改 |
| :e 文件名 | 在原始窗口中打开新文件,旧文件保存 |
| :e! | 放弃所有更改,重新编辑 |
| :r 文件名 | 在光标下一行插入文件内容 |
2. 查找与替换
| 指令 | 作用 |
|---|---|
| :set nu | 显示行号 |
| :数字n | 将光标移动到第n行 |
| :/关键字 | 从文件头开始查找关键字,按n找下一个 |
| :?关键字 | 从文件末开始查找关键字,按n找下一个 |
| :s/str1/str2/p | 当前行str1替换成str2 |
| :%s/str1/str2/p | 所有行str1替换成str2 |
3. 分屏显示
| 指令 | 作用 |
|---|---|
| :vs 文件名 | 分屏显示 |
| :qall | 退出所有文件,不保存 |
| :wqall | 保存并退出所有文件 |
| :ctrl ww | 切换分屏 |
4. 命令执行
| 指令 | 作用 |
|---|---|
| :!命令 | 执行一条命令 |
| :↑ | 查看上条命令 |
| :↓ | 查看下条命令 |
在不同的Linux系统中,末行模式执行命令的格式不一致,比如 :!cmd 命令1 和 :!command 命令2