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 跳到文件末尾。
:$ 跳到文件末尾。
相关推荐
Thera7773 分钟前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
阿梦Anmory8 分钟前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
呉師傅22 分钟前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
云姜.22 分钟前
线程和进程的关系
java·linux·jvm
heartbeat..25 分钟前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊1 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding1 小时前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi1 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19431 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器