#2022争霸赛*干货满满#Linux vi常用命令汇总!
  

我不要凑合 40891人觉得有帮助

{{ttag.title}}
Part1进入vi命令
vi filename                 打开或新建文件,并置光标于行首
vi + filename               打开文件,并置光标与末行行首
vi +n filename              打开文件,并置光标与第 n 行行首
vi +/w1 filename            打开文件,并置光标于第一个匹配w1处
vi -r filename              上次使用vi时发生崩溃,恢复filename
vi file1 file2 ...          打开多个文件,一次编辑
Part2移动光标
h 或 [←] 或 [Backspace]    光标左移一个字符
l 或 [→] 或 [space]        光标右移一个字符
k 或 [↓] 或 ^p             光标上移一个字符
j 或 [↑] 或 ^n             光标下移一个字符
nh 或 n[←] 或 n[Backspace]  光标左移 n 个字符;l, j, k类似
b 或 B                      光标移至本字字首
e 或 E                      光标移至本字字尾
w 或 W                      光标移至下一个字字首
nb 或 nB                    光标移至前 n 个字字首
ne 或 nE                    光标移至后 n 个字字尾
nw 或 nW                    光标移至后 n 个字字首
-                           光标上移一行
+ 或 [Enter]                光标下移一行
G                           光标移至末行行首
0                           数字 0, 光标移至本行行首 (常用)
$                           光标移至本行行尾
n-                          光标上移 n 行
n+ 或 n[Enter]              光标下移 n 行
nG                          光标移至第 n 行行首 (常用)
n$                          光标移至第 n 行行尾
(                           光标移至句首
)                           光标移至句尾
{                           光标移至段首
}                           光标移至段尾
H                           光标移至屏幕首行
M                           光标移至屏幕中间行
L                           光标移至屏幕末行
^f                          屏幕上翻一屏(常用)
^b                          屏幕下翻一屏(常用)
^d                          屏幕上翻半屏
^u                          屏幕下翻半屏
Part3删除、复制与粘贴
X                           向前删除一个字符(常用)
x 或 [del]                  向后删除一个字符,
nX                          向前删除 n 个字符
nx                          删除光标处及其后 n-1个字符
ndw 或 ndW                  删除光标处及其后 n-1个字
do                          删至行首
d$                          删至行尾
dd                          删除本行(常用)
ndd                         删除本行及下 n-1 行(常用)
d1G                         删除光标前字符  (小心)
dG                          删除光标后字符  (小心)
^u                          删除输入方式下所输入的文本
yy                          复制本行(常用)
nyy                         复制本行及下 n-1 行(常用)
y1G                         复制光标前字符
yG                          复制光标后字符
p                           在下一行粘贴
P                           在上一行粘贴(常用)
:n1,n2 co n3                将 n1 行到 n2 行内容拷贝到第 n3 行下
:n1,n2 m n3                 将 n1 行到 n2 行内容移到第 n3 行下
:n1,n2 d                    删除 n1 行到 n2 行内容
J                           合并本列与下一列
u                           恢复前一个动作。(常用)
Part4查找与替换
/word                       在光标后查找串 word (常用)
?word                       在光标前查找串 word (常用)
n                           在同一方向重复上次查找
N                           在反方向重复上次查找
:s/w1/s2/g                  将本行中的所有 w1 用 w2 替换
:n1,n2s/w1/w2/g             在第 n1 与 n2 行间的 w1 用 w2 替换!(常用)
:1,$s/w1/wd2/g              在首行与末行间的 w1 用 w2 替换 !(常用)
:g/w1/s//w2/g               同上
:1,$s/w1/w2/gc              同上!并且提示是否取代!(常用)
Part5进入编辑模式
i                           光标前
I                           本行行首
a                           光标后
A                           本行行尾(常用)
o                           当前行下插入一行
O                           当前行上插入一行(常用)
r                           替换当前字符
R                           替换当前字符及其后字符,直至按 ESC 退出
s                           删除当前字符,并开始输入文本
S                           删除本行,并开始输入文本
ncw 或 ncW                  删除 n 个字,并开始输入文本
nCC                         删除 n 行,并开始输入文本
Esc                         退出编辑模式,回到一般模式中(常用)
Part6指令命令模式
:w                          保存当前文件(常用)
:w!                         强制保存当前文件
:q                          退出 vi (常用)
:q!                         不保存退出 vi,
:wq                         保存后退出
:x                          同上      
                        
:wq!                        强制保存后离开(常用)
:!command                   执行shell命令command
:r!command                  将命令command输出放到当前行
:e!                         将档案还原到最原始的状态!
:w filename                 将文件另存为 filename 文件
:n1,n2 w [filename]         将 n1 与 n2 间内容另存为 filename 文件
:r filename                 在当前行下一行读入 filename 文件内容
:set nu                     显示行号
:set nonu                   取消行号
:set hls                      高亮

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

339015 发表于 2022-10-22 03:49
  
感谢楼主分享,文章介绍了vi编辑器常见命令用法,如果能辅以图片效果演示就更好了,期待更多分享
小鱼儿 发表于 2023-4-3 09:20
  

每天学习一点,每天进步一点!!!!!!!
日出 发表于 2023-4-3 09:20
  

每天学习一点,每天进步一点!!!!!!!
梦境人生 发表于 2023-4-3 09:21
  

每天学习一点,每天进步一点!!!!!!!
唐三平 发表于 2023-4-3 09:21
  

每天学习一点,每天进步一点!!!!!!!
鲤鲤 发表于 2023-4-3 09:27
  

每天学习一点,每天进步一点!!!!!!!
小西北 发表于 2023-4-3 09:27
  

每天学习一点,每天进步一点!!!!!!!
朱墩2 发表于 2023-4-3 09:27
  

每天学习一点,每天进步一点!!!!!!!
小霞米 发表于 2023-4-3 09:31
  

每天学习一点,每天进步一点!!!!!!!
发表新帖
热门标签
全部标签>
安全效果
西北区每日一问
技术盲盒
技术笔记
【 社区to talk】
干货满满
每日一问
信服课堂视频
GIF动图学习
新版本体验
技术咨询
2023技术争霸赛专题
功能体验
产品连连看
标准化排查
自助服务平台操作指引
秒懂零信任
技术晨报
安装部署配置
原创分享
排障笔记本
玩转零信任
排障那些事
SDP百科
技术争霸赛
深信服技术支持平台
通用技术
以战代练
升级&主动服务
社区新周刊
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
信服圈儿
S豆商城资讯
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
高手请过招
高频问题集锦
POC测试案例
全能先锋系列
云化安全能力

本版达人