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

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

{{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
  

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

本版达人

新手89785...

本周建议达人

YangZhe...

本周分享达人