马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
vi 是 Linux 上最经典的文本编辑器,几乎每台服务器都自带。掌握它之后,你可以在没有图形界面、只有一根 SSH 连接的环境里高效改配置。这篇把 vi 的日常操作串成一条完整链路。
一、打开文件并直接定位到指定行
# 打开文件
vi nginx.conf
# 直接打开到第 80 行
vi +80 nginx.conf
# 打开时直接定位到某个字符串第一次出现的位置
vi +/server_name nginx.conf
二、三种模式的切换
- 命令模式(Normal):打开文件后的默认模式,所有按键都是命令,不能直接打字。
- 插入模式(Insert):按
i 进入,此时可以正常输入文字;按 Esc 退回命令模式。
- 末行模式(Command-line):在命令模式下按
: 进入,用来执行保存、退出、查找替换等命令。
i # 当前字符前插入
a # 当前字符后插入
o # 当前行下面新开一行并插入
O # 当前行上面新开一行并插入
Esc # 回到命令模式
三、光标移动
h j k l # 左 下 上 右(也可以直接用方向键)
gg # 跳到文件第一行
G # 跳到文件最后一行
:n # 跳到第 n 行
$ # 行尾
0 或 ^ # 行首
w # 下一个单词开头
四、剪切、复制与粘贴
yy # 复制当前行
nyy # 复制从当前行开始的 n 行
dd # 剪切(删除)当前行
ndd # 剪切从当前行开始的 n 行
p # 粘贴到当前行下面
P # 粘贴到当前行上面
x # 删除当前光标处的字符
dw # 删除一个单词
u # 撤销上一步
Ctrl + r # 重做
五、查找与替换
# 向下查找
/keyword
# 向上查找
?keyword
# 找到后按 n 下一个,N 上一个
# 把当前行的 old 全部换成 new
:s/old/new/g
# 把全文的 old 换成 new,确认式
:%s/old/new/gc
# 只替换第 10 到 20 行
:10,20s/old/new/g
替换命令的完整结构是“范围 + s/旧/新/修饰符”,其中 g 表示一行内全部替换,c 表示逐个确认。
六、保存与退出
:w # 保存
:q # 退出(未修改时)
:wq # 保存并退出
:q! # 不保存强制退出
:wq! # 强制保存退出(只读文件但你有写权限时)
:w! # 强制保存
:wq a.txt # 另存为 a.txt 并退出
改配置改崩了又不想保存?记住 :q! 这一条就够了:放弃全部修改直接退出。
七、分屏与多文件
:sp filename # 水平分屏
:vs filename # 垂直分屏
Ctrl + w w # 在分屏之间切换
:qa # 关闭所有窗口
vi file1 file2 # 一次打开多个文件
:n # 切到下一个文件
:N # 切到上一个文件
八、set 类辅助命令
:set nu # 显示行号
:set nonu # 取消行号
:set hlsearch # 高亮搜索结果
:set ic # 搜索时忽略大小写
:set noic # 取消忽略大小写
:set paste # 粘贴模式,避免自动缩进把内容弄乱
九、运维场景的几个实用组合
- 改完 nginx 配置先
:wq 退出,再 nginx -t 检查语法。
- 看日志
窗口定位错误行:vi +/error app.log 直接跳到第一个 error。
- 批量改 IP 段:
:%s/10\.0\.0\./192.168.1./g。
- 不确定改得对不对就用
:q! 放弃重来,vi 不会留下半截文件。
十、小结
vi 的上手门槛在“模式”这两个字,一旦形成肌肉记忆就是全键盘操作。熟练之后,你会发现改服务器配置文件这件事根本不需要把文件拉到本地、改完再传回去。
qidao123.com企服评测-应用市场 编辑提示 |