vi 介绍
vi编辑器是所有Unix系统和 Linux 系统下标准的编辑器。类似于 windows 下 notepad 编辑器。vi 也是 Linux 中最基本的文本编辑器,学会它后,我们将在 Linux 的世界里畅行无阻,尤其在终端中。
关于 vim: vi 和 vim 都是 Linux 中的编辑器,不同的是 vim 比较高级,可以视为 vi 的升级版本。vi 适用于文本编辑,但是 vim 更适用于 coding。
vim 重点是 光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用。
vim 三种模式(大众认知)
命令模式;编辑模式(输入模式);末行模式(尾行模式)。
命令模式:该模式下不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等)【打开文件后默认进入的模式】。 编辑模式:在该模式下可以对文件的额内容进行编辑; 末行模式:可以在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮等等)。
Vim 的打开文件的方式(4种,要求掌握前三种):
| 命令行 | 含义 |
|---|---|
| vim 文件路径 | 打开指定文件 |
| vim +数字 文件路径 | 打开指定文件,并且将光标移动到指定行 |
| vim +/关键词 文件路径 | 打开指定文件,并且高亮显示关键词 |
| vim 文件路径1 文件路径2 文件路径3 | 同时打开多个文件 |
命令模式
光标移动
| 含义 | 操作 |
|---|---|
| 移动到行首 | shift + 6(^) |
| 移动到行尾 | shift + 4($) |
| 移动到首行 | gg |
| 移动到末行 | G |
| 向上翻屏 | ctrl + b (before) |
| 向下翻屏 | ctrl + f (after) |
复制
| 含义 | 操作 |
|---|---|
| 复制光标所在行 | yy |
| 粘贴 | p |
| 可视化复制 | ctrl + v(visilize) |
剪切/删除
| 含义 | 操作 |
|---|---|
| 剪切/删除光标所在行(然后 p 粘贴) | dd |
| 数字 dd | 以所在行为基准,向下删除指定行,删除后下一行上移 |
| D | 删除后不上移,当前行为空白行 |
末行模式
退出
按下esc 键
| 操作 | 含义 |
|---|---|
| :w | 保存文件 |
| :w 路径 | 另存为 |
| :w! 路径 | 写入已存在文件 |
| :q | 退出 |
| :wq | 保存并退出 |
| :q! | 强制退出,之前做的操作不做保存 |
| :! 外部命令 | vim 中临时调用外部命令,enter 键返回 |
搜索和替换
按下esc 键
| 操作 | 含义 |
|---|---|
| /关键词 | eg:/login 会高亮显示查找的词 |
取消高亮
:nohl
替换
按下 esc 键
| 操作 | 含义 |
|---|---|
| :s/搜索的关键词/新的内容 | 替换光标所在行的第1处 |
| :s/搜索的关键词/新的内容/g | 替换光标所在行的全部符合条件的内容 |
| :%s/搜索的关键词/新的内容/g | 替换整个文件中每行第1处符合条件的内容 |
| :%s/搜索的关键词/新的内容/g | 替换整个文件中每行所有符合条件的内容 |
% 表示整个文件
g 表示全局(global)
显示行号
按下esc键
| 操作 | 含义 |
|---|---|
| :set nu | 显示行号 |
| :set nonu | 取消显示行号 |
文件
| 操作 | 含义 |
|---|---|
| vim file1 file2 | 打开file file2 |
| :files | 已打开的文件 |
| :open 文件名 | 打开文件 |
| :bn | 打开下一个文件 back next |
| :bp | 打开下一个文件 back pre |
vim file1 file2 查看当前已打开文件::files
%a 当前显示的文件(active)
# 上一个打开的文件
编辑模式
------待更新------