linux中VI命令的详细解释

一、基本操作
操作 命令 功能描述
启动Vi vi filename 打开指定文件,如果文件不存在则新建。
退出Vi :q 退出Vi,若文件未修改则直接退出。
:q! 强制退出,放弃所有修改。
:wq 或 :x 保存文件并退出。
二、Vi的基本模式
模式 描述
命令模式(Command Mode) 默认模式,用于执行命令如删除、复制、查找等。
输入模式(Insert Mode) 用于输入文本,通过按 i, a, o 等键进入。
末行模式(Last Line Mode) 输入 : 后进入,用于执行保存、退出、查找替换等命令。
三、Vi的命令模式操作
操作类别 命令 功能描述
光标移动 h 向左移动一个字符。
j 向下移动一行。
k 向上移动一行。
l 向右移动一个字符。
w 移动到下一个单词的开头。
b 移动到上一个单词的开头。
e 移动到当前单词的末尾。
0 移动到当前行的开头。
$ 移动到当前行的末尾。
gg 移动到文件的开头。
G 移动到文件的末尾。
nG 移动到第 n 行。
删除操作 x 删除光标所在处的一个字符。
dd 删除光标所在行。
d$ 删除从光标开始到行末的内容。
d0 删除从光标开始到行首的内容。
ndd 删除当前行及下面 n-1 行。
复制和粘贴 yy 复制当前行。
yny 复制当前行及下面 n-1 行。
p 在光标所在行下方粘贴。
P 在光标所在行上方粘贴。
撤销和重做 u 撤销上一次操作。
Ctrl + r 重做上一次被撤销的操作。
行号和文件信息 :number 显示当前行号。
:set number 显示所有行号。
Ctrl + g 显示当前光标所在的行号和文件信息。

四、Vi的输入模式操作
命令 功能描述
i 在光标所在位置前插入文本。
a 在光标所在位置后插入文本。
o 在光标所在行下方插入新行。
O 在光标所在行上方插入新行。
五、Vi的末行模式操作
操作类别 命令 功能描述
查找 :/pattern 从光标位置开始向下查找 pattern 模式,不包含此行。
:?pattern 从光标位置开始向上查找 pattern 模式,不包含此行。
替换 :s/旧文本/新文本/g 在当前行中将旧文本替换为新文本。
:%s/旧文本/新文本/g 在整个文件中将旧文本替换为新文本。
:s/旧文本/新文本/gc 在整个文件中将旧文本替换为新文本,并逐行确认。
打开和保存文件 :e filename 打开另一个文件进行编辑。
:w filename 将当前文件保存为另一个文件。
:x filename 保存当前文件并退出。
分割窗口 :split filename 水平分割窗口并打开另一个文件。
:vsplit filename 垂直分割窗口并打开另一个文件。
其他 :help command 显示关于命令的帮助信息。
:set option 设置编辑器选项,如 :set ignorecase、:set autoindent 等。
六、Vi的可视化模式
命令 功能描述
v 按字符选择。
V 按行选择。
Ctrl + v 按块选择。
七、高级操作
操作类别 命令 功能描述
宏 qa 开始录制宏,a 是宏的名称,A-Z 可以记录多个宏。
q 停止录制宏。
@a 执行宏 a。
快速编辑 Ctrl + f 向前翻页。
Ctrl + b 向后翻页。
:n 跳转到下一个文件(用于多文件编辑)。
:N 跳转到上一个文件。
自动补全 Ctrl + x、Ctrl + e 在输入模式下启用自动补全功能。
Ctrl + n 在输入模式下根据上下文补全单词。
Ctrl + p 在输入模式下根据上下文补全单词。

八、Vi的插件和扩展
插件名称 功能描述
Vundle Vi 的插件管理器。
YouCompleteMe 代码补全插件。
Syntastic 语法检查插件。
NERDTree 文件树浏览插件。

快捷命令总结

操作 命令 功能描述
连续选中 按字符:v 按字符选择。
按行:V 按行选择。
按块:Ctrl + v 按块选择。
跳到最后一行 G 跳到文件末尾。
:$ 跳到文件末尾。
相关推荐
HRTOS6 小时前
HRTOS Shell继续完善:优化printf缓冲区与字符串越界保护,国庆后随新版本更新
运维·单片机·嵌入式硬件·算法·51单片机
智能RPA6 小时前
农业与矿业行业智能体自动化平台对比评测(计量与巡检场景)
运维·人工智能·python·自动化·agent·rpa
沫璃染墨6 小时前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程
YYRAN_ZZU6 小时前
GMSL开发加解串配置介绍
linux·嵌入式硬件
墨家前任巨子6 小时前
定时关机脚本
运维
云计算练习生6 小时前
什么是上下文切换?进程切换时 CPU 到底在保存什么
linux·服务器·操作系统·进程切换
用户0510122572966 小时前
RGA(二)——RK3588 的核拓扑与能力差异
linux·嵌入式
ESDWAN6 小时前
企业组网后网络频繁掉线,常见故障排查指南
运维·网络·架构
用户0510122572966 小时前
RGA(一)——基础知识
linux·嵌入式
qetfw6 小时前
Debian 综合服务实训:Apache2、Samba、LDAP、vsftpd 与 OpenVPN
linux·服务器·debian