文章目录
1 vi与vim的区别
它们都是多模式的文件编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如:语法高亮、可视化操作不仅可以在终端运行,也可以运行与x windows、mac os。
用法: vim 文件名(文件可以不存在)
2 模式之间相互转换
vim有12种模式(6种基本模式+6种条件模式)但我们重点掌握普通模式、插入模式、底行模式。
- 正常/普通/命令模式 (无法输入数据)
当你输入"vim 文件名"时,处于普通模式、你要切换到插入模式才可以输入。
2.1 从普通模式到插入模式
- i 从光标的当前位置开始插入。光标位置若有字符,则字符后移。
- I 光标回到行首开始插入。
- a 光标移动到下一个字符处开始插入。
- A 光标移动到行尾开始插入。
- o 从光标所在行下方添加新行,开始插入。
- O 从光标所在行上方添加新行,开始插入。
- s 删除光标所在字符开始插入。
- S 删除光标所在行进入插入模式。
2.2 从插入模式到普通模式
Esc
2.1 从普通模式到末行模式
输入冒号
1. :w 保存当前文件。
2. :q 退出当前文件。
3. :wq 保存并退出当前文件。
4. :q! 强制退出当前文件。
3 vim普通模式下的命令
3.1 光标移动
- h 左。
- l 右。
- j 下。
- k上。
- G 移到文章末尾。
- w 光标按单词向后移动。
- b 光标按单词向左移动。
- gg 进入文本开始。
3.2 复制
- yy 复制光标所在行到缓冲区。
- nyy 从光标所在行开始向下复制n行数据。
- p 将缓冲区的字符贴到光标所在位置。
与y有关的复制指令都必须与p配合才能完成复制粘贴功能。
3.3 删除
- x 删除光标所在字符。
- dd 删除(剪切)光标所在行。
- ndd 从光标所在行开始向下删除n行数据。
- p 将缓冲区的字符贴到光标所在位置。
3.4 替换
- r 替换光标所在字符。
- R 替换光标所到之处的字符,知道按下Esc停止。
3.5 撤销上次操作
- u 撤销。
- Ctrl+r 反向撤销。
3.6 代码风格
- gg=G 全文按c语言语法风格缩进对齐。