vi/vim 编辑器 --基本命令

1 vi/vim编辑器介绍

vi 是visual interface 的简称,是Linux中最经典的文本编辑器

vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大方便了程序的设计和编辑性。

2 vi/vim编辑器的三种工作模式

命令模式(Command mode)

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动不同的功能。

此模式下,不能自由进行文本编辑。

输入模式(Insert mode)

也就是所谓的编辑模式、插入模式。

此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode)

以:开始,通常用于文件的保存、退出。

2.1 命令模式

如果需要通过vi\vim编辑器编辑文件,输入如下命令

vi 文件路径

vim 文件路径 一般直接使用vim,因为vim兼容vi的所有功能

注意:1)如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。

2)如果文件路径表示的文件存在,那么命令用于编辑已有文件。

示例

vim test.txt 若文件不存在,会自动创建新文件并进入命令模式

再点击 i ,进入输入模式

对内容进行编辑,输入this a test

点击Esc,退出输入模式,进入命令模式

在命令模式下,输入:进入底线命令模式

在底线命令模式下(即在 : 基础上),再输入wq ,回车进行保存并退出

命令模式快捷键

以下为在命令模式下,各种进入输入模式的快捷键

|------|----------|--------------------|
| 模式 | 命令 | 描述 |
| 命令模式 | i | 在当前光标位置进入输入模式 |
| 命令模式 | a | 在当前光标位置之后进入输入模式 |
| 命令模式 | I (大写i ) | 在当前行的开头,进入 输入模式 |
| 命令模式 | A | 在当前行的结尾,进入输入模式 |
| 命令模式 | o | 在当前光标下一行进入输入模式 |
| 命令模式 | O | 在当前光标上一行进入输入模式 |
| 输入模式 | Esc | 任何情况下点击Esc都能回到命令模式 |

以下还有一些命令模式下的快捷键

|----------------|------------------|--------|------------------|
| 命令 | 描述 | 命令 | 描述 |
| 键盘上、键盘k | 向上移动光标 | dd | 删除光标所在行的内容 |
| 键盘下、键盘j | 向下移动光标 | ndd | n是数字,删除当前光标向下n行 |
| 键盘左、键盘h | 向左移动光标 | yy | 复制当前行 |
| 键盘右、键盘L | 向右移动光标 | nyy | n是数字,复制当前行和下面的n行 |
| 0 | 移动光标到当前行的开头 | p | 粘贴复制的内容 |
| $ | 移动光标到当前行的结尾 | u | 撤销修改 |
| pageup(PgUp) | 向上翻页 | ctrl+r | 方向撤销修改 |
| pagedown(PdDn) | 向下翻页 | gg | 跳到首行 |
| / | 进入搜索模式 | G | 跳到行尾 |
| n | 向下继续搜索 | dG | 从当前行开始,向下全部删除 |
| CTRL+n | 向上继续搜索 | dgg | 从当前行开始,向上全部删除 |
| d$ | 从当前光标开始,删除到本行的结尾 | d0 | 从当前光标开始,删除本行的开头 |

2.2 底线命令模式

注意:点击Esc可退回命令模式。

以下为底线命令模式下的一些常用命令:

|--------------|--------|
| :wq | 保存并退出 |
| :q | 仅退出 |
| :q! | 强制退出 |
| :w | 仅保存 |
| :set nu | 显示行号 |
| :set nonu | 取消行号显示 |
| :set paste | 设置粘贴模式 |
| :set nopaste | 取消粘贴模式 |

相关推荐
Stara051116 分钟前
Linux系统常用操作与命令指南
linux·vim
white.tie42 分钟前
linux配置nginx
linux·运维·nginx
Komorebi.py1 小时前
【Linux】-学习笔记03
linux·笔记·学习
dessler1 小时前
云计算&虚拟化-kvm创建网桥(bridge)
linux·运维·云计算
YRr YRr1 小时前
Ubuntu20.04 解决一段时间后键盘卡死的问题 ubuntu
linux·数据库·ubuntu
醇氧3 小时前
ab (Apache Bench)的使用
linux·学习·centos·apache
moneyxjj3 小时前
Linux各种解压命令汇总
linux·运维·服务器
白白♛~4 小时前
网络管理之---3种网络模式配置
linux·服务器·网络
GOTXX4 小时前
NAT、代理服务与内网穿透技术全解析
linux·网络·人工智能·计算机网络·智能路由器
脱了格子衬衫4 小时前
使用源码编译安装 Tomcat
linux·tomcat