目录
1. 什么是 vim?
2. vi\vim 模式介绍
2.1 命令模式(Command mode)
2.2 输入模式(Insert mode)
2.3 底线命令模式(Last line mode)
3. vi\vim 的使用
4. 命令介绍
1. 什么是 vim?
Vim 是从 vi 发展出来的一个文本编辑器。vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑功能,可以不同颜色的字体来辨别语法的正确性。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
2. vi\vim 模式介绍
基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。
通过vi\vim命令编辑文件,会打开一个新的窗口,此时窗口就是命令模式,通过命令模式输入键盘指令,可以进入到输入模式,输入模式需要退回到命令模式,然后通过命令可以进入到底层命令模式:
2.1 命令模式(Command mode)
命令模式下,所敲得按键编辑器都可以理解为命令,以命令驱动执行不同的功能,此模型下不能自由进行文本编辑。
用户刚刚启动 vi/vim,便进入了命令模式。 此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。
语法:vi 文件路径
vim 文件路径
vim兼容全部vi的命令,后续全部使用vim命令
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件,例如下图输入命令vim test.txt会进入第二张图所示,保存退出,ls查看可以发现创建了一个文件test.txt:
- 如果文件路径表示的文件存在,那么此命令会用于编辑已有文件
2.2 输入模式(Insert mode)
也就是所谓的编辑模式,插入模式,此模式下对文本内容进行自由编辑。在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式。
2.3 底线命令模式(Last line mode)
在命令模式下按下 :(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
3. vi\vim 的使用
使用vim test.txt编辑一个新文件:
执行后进入的是命令模式:
在命令模式内,按键盘i,进入输入模式,输入Hello world!!!:
输入完成后,按Esc退回命令模式:
在命令模式内,按键盘:,进入底层命令模式:
在底层命令模式内输入:wq,回车,保存文件并退出vi编辑器:
输入cat test.txt命令查看刚刚输入的内容是否存在:
4. 命令介绍
模式 | 命令 | 描述 |
命令模式 | i | 在当前光标位置进入输入模式 |
命令模式 | a | 在当前光标位置之后进入输入模式 |
命令模式 | I | 在当前行开头进入输入模式 |
命令模式 | A | 在当前行结尾进入输入模式 |
命令模式 | o | 在当前光标下一行进入输入模式 |
命令模式 | O | 在当前光标上一行进入输入模式 |
命令模式 | 键盘上(↑)、键盘K | 向上移动光标 |
命令模式 | 键盘下(↓)、键盘K | 向下移动光标 |
命令模式 | 键盘左(←)、键盘K | 向左移动光标 |
命令模式 | 键盘右(→)、键盘K | 向右移动光标 |
命令模式 | 0 | 移动光标到当前行的开头 |
命令模式 | $ | 移动光标到当前行的结尾 |
命令模式 | pageup(PgUp) | 向上翻页 |
命令模式 | pangdown(PgDn) | 向下翻页 |
命令模式 | / | 进入搜索模式 |
命令模式 | n | 向下继续搜索 |
命令模式 | N | 向上继续搜索 |
命令模式 | dd | 删除光标所在行的内容 |
命令模式 | ndd | n是数字,表示删除当前光标向下n行 |
命令模式 | yy | 复制当前行 |
命令模式 | nyy | n是数字,表示复制当前光标和向下的n行 |
命令模式 | p | 粘贴复制的内容 |
命令模式 | u | 撤销修改 |
命令模式 | Ctrl+r | 反向撤销修改 |
命令模式 | gg | 跳到首行 |
命令模式 | G | 跳到行尾 |
命令模式 | dG | 从当前行开始,向下全部删除 |
命令模式 | dgg | 从当前行开始,向上全部删除 |
命令模式 | d$ | 从当前光标开始,删除到本行的结尾 |
命令模式 | d0 | 从当前光标开始,删除到本行的开头 |
输入模式 | Esc | 任何情况下输入Esc都能回到命令模式 |
底线命令模式 | :wq | 保存并退出 |
底线命令模式 | :q | 仅退出 |
底线命令模式 | :q! | 强制退出 |
底线命令模式 | :w | 仅保存 |
底线命令模式 | :set nu | 显示行号 |
底线命令模式 | :set paste | 设置粘贴模式 |
Linux学习_时光の尘的博客-CSDN博客