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 | 取消粘贴模式 |

相关推荐
不做无法实现的梦~18 分钟前
Linux 上使用 CLion 开发嵌入式,并用 Codex CLI
linux·运维·服务器
张32336 分钟前
Ansible拆分大型Playbook
linux·ansible
苦逼大学生被编程薄纱2 小时前
Ext 文件系统基础:Linux 存储基石入门(下)
linux·运维·服务器
Lumos_7772 小时前
Linux -- 进程
linux·运维·服务器
南境十里·墨染春水2 小时前
linux学习进展 进程间通讯——共享内存
linux·数据库·学习
小此方3 小时前
Re:Linux系统篇(五)指令篇 ·四:shell外壳程序及其工作原理
linux·运维·服务器
其实防守也摸鱼3 小时前
sqlmap下载和安装保姆级教程(附安装包)
linux·运维·服务器·测试工具·渗透测试·攻防·护网行动
jingyu飞鸟3 小时前
Linux系统发送邮件,解决信誉等级低问题 docker compose修改启动一键使用
linux·运维·docker
Lumos_7773 小时前
Linux -- exec 进程替换
linux·运维·chrome
ElfBoard4 小时前
飞凌精灵(ElfBoard)技术贴|如何在RK3506开发板上实现UART功能复用
大数据·linux·人工智能·驱动开发·单片机·嵌入式硬件·物联网