简介

编辑
| 底行模式 | |
|---|---|
| vi | 启动 |
| :q | 退出 |
| :q! | 强制退出 |
| :w filename | 文件以filename为文件名保存 |
| :wq | 文件存盘并退出vim |
| :q | 文件不存盘并退出vim |
| :q! | 文件不存盘强制退出vim |
如果你在 vi 中“迷失”了,试着按下 Esc 键两次来回到普通模式。
| vi foo.txt | 创建文件,命令模式 |
| i | 从当前光标位置进入插入模式 |
| a | 从当前光标位置的下一个字符进入插入模式 |
| A | 行尾插入 |
| o/O | 从当前光标位置的下一行/上一行 进入插入模式 |
| u/U | 撤销一次操作/撤销整行 |
| ESC | 回到命令 |
| dw | 删除单词 |
| de | 删除单词无视空格 |
| dd | 删除行 |
| p/P | 光标后粘贴/光标前粘贴 |
| r | 替换光标处一个字符 |
| /strToFind | 查找 |
| x | 删除字符 |
移动

替换

| i => shift + insert | 粘贴外部代码 |
| gg | 定位到第一行 行首 |
| dG | 从当前光标位置删除到文件末尾 |
| G | 到最后一行 行首 |
| ggVG | 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾 |
复制、粘贴、剪切
选择文本
- v+光标移动 (按字符选择)高亮选中所要的文本,然后进行各种操作(比如,d表示删除)。
- V (按行选择)
- v+选中的内容+c 更改选中的文字
复制:y(ank)
- y 用v命令选中文本后,用y进行复制
- yy 复制当前行,然后用p进行粘贴
- 5yy 复制从当前行开始的5行
- y_ 等同于yy
- Y 等同于yy
- yw 复制当前单词
- y$ 从当前位置复制到行尾
- y0 从当前位置复制到行首
- y^ 从当前位置复制到第一个非空白字符
- yG 从当前行复制到文件结束
- y20G 从当前行复制到第20行
- y?bar 复制至上一个出现bar的位置
粘贴:p(aste)
- p(小写) 在光标位置之后粘贴
- P(大写) 在光标位置之前粘贴
剪切
- v + 方向键(hjkl)选中内容 + d 剪切 + p粘贴