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 + xCtrl + e 在输入模式下启用自动补全功能。
Ctrl + n 在输入模式下根据上下文补全单词。
Ctrl + p 在输入模式下根据上下文补全单词。

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

快捷命令总结

操作 命令 功能描述
连续选中 按字符:v 按字符选择。
按行:V 按行选择。
按块:Ctrl + v 按块选择。
跳到最后一行 G 跳到文件末尾。
:$ 跳到文件末尾。
相关推荐
Gold Steps.19 分钟前
企业磁盘管理实战:常见问题与高效解决方案
linux·运维·服务器
Nicolas8931 小时前
【算法工程】大模型开发之windows环境的各种安装
linux·windows·ubuntu·wsl·大模型开发·环境安装·算法开发
带鱼吃猫1 小时前
Linux系统之美:环境变量的概念以及基本操作
linux·服务器
Hadoop_Liang1 小时前
openEuler24.03 LTS下安装Hive3
linux·hive·hadoop·mysql·安装·openeuler
一只蒟蒻ovo1 小时前
操作系统导论——第13章 抽象:地址空间
linux·运维·服务器
宋发元1 小时前
高效事件驱动设计模式——Reactor 模式
服务器·网络·设计模式
孤独打铁匠Julian2 小时前
【Linux】VMware 17 安装 VMware Tools
linux
恶霸不委屈2 小时前
TSL 和 SSL 是什么?它们有何关系?
运维·服务器·网络
奇妙之二进制2 小时前
C语言入门教程100讲(4)输入输出
linux·运维·c语言
Acrel136519467382 小时前
安科瑞EMS:赋能双碳智慧园区建设,引领绿色未来
运维·人工智能·安全·能源