当前位置:首页>Linux>Linux 运维必学(七)|Vim编辑器超全使用指南

Linux 运维必学(七)|Vim编辑器超全使用指南

  • 2026-10-10 04:29:01
Linux 运维必学(七)|Vim编辑器超全使用指南

在 Linux 系统里,Vim/Vi 是标配文本编辑器。系统自带、无需额外安装,crontab、visudo 等常用工具都会默认调用它,是运维和开发必须掌握的工具。

一、为什么要用 Vim

通用性强,所有 Linux 主机都预装,走到哪都能用

系统配置、定时任务等工具,默认调用 Vim/Vi 编辑

自带语法高亮,写代码、改配置能直观分辨语法,降低出错概率

二、三大核心模式(重中之重)

Vim 一共三种工作模式,打开文件默认进入命令模式。✅ 通用切换规则(记这一条就够)任意模式按下 Esc 键,回到命令模式

命令模式默认进入,用来移动光标、复制、删除、查找、切换其他模式。

插入模式专门用来打字、修改文本内容。

命令行模式输入冒号:进入,用来保存、退出、设置行号、执行系统命令。


三、命令模式|高频操作(日常 90% 场景都用它)

1. 光标移动(必背)

方向控制:h 左、j 下、k 上、l 右

翻页:Page Down 向下翻页,Page Up 向上翻页

行首:0 或 Home 键

行尾:$ 或 End 键

屏幕定位:H 屏幕首行、M 屏幕中间行、L 屏幕末行

文件首尾:gg 跳到第一行,G 跳到最后一行

2. 查找与替换

向下搜关键词:/ 关键词

向上搜关键词:? 关键词

继续查找下一个:n

反向查找上一个:N

区间替换格式:n1,n2s / 原内容 / 新内容 /g示例:1,10s/abc/123/g  将 1-10 行的 abc 全部替换为 123

3. 删除内容

删单个字符:x 向后删,X 向前删

批量删字符:nx /nX  连续删除 n 个字符

删整行:dd  删除光标所在行

批量删行:ndd  从当前行向下删除 n 行示例:5dd  删除当前行及下方共 5 行

4. 复制与粘贴

复制整行:yy

批量复制:nyy  从当前行向下复制 n 行示例:3yy  复制当前行及下方共 3 行

粘贴:p 贴在光标下一行,P 贴在光标上一行

5. 撤销、重做、重复动作

撤销上一步:u

恢复撤销操作:Ctrl+r

重复上一个动作:.(小数点,高频常用)

6. 行合并

J  将当前行和下一行合并为一行

7. 进入插入 / 替换模式(编辑文字必备)

编辑完成按 Esc 返回命令模式。

光标前后插入:i 光标前插入,a 光标后插入

行首尾插入:I 行首插入,A 行尾插入

新建空行:o 下方新建行,O 上方新建行

单字符替换:r 只替换当前 1 个字符

连续替换:R 持续替换,按 Esc 结束


四、命令行模式(输入:进入)

1. 保存 & 退出(最常用)

:w  保存文件

:w 新文件名  另存为新文件

:n1,n2 w 新文件名  将指定行内容另存为新文件

:wq  保存并退出

:wq!  强制保存并退出

:q  正常退出(文件未修改)

:q!  强制退出,不保存任何修改

2. 实用小功能

:! 系统命令  临时调用 Linux 命令,执行后回到 Vim示例::! ls /home  查看 /home 目录内容

:r 文件名  把外部文件内容,读取到当前文档中

:set nu  显示行号

:set nonu  关闭行号


五、异常处理:.swap 暂存文件

场景:异常断电、强制关闭终端、多人同时编辑同一文件,会生成 .swap 暂存文件。再次打开文件会弹出选项,对应功能如下:

O  以只读方式打开文件

E  正常打开,忽略暂存文件

R  恢复未保存的内容(恢复后手动删除 .swap 文件)

D  直接删除无效的暂存文件

Q  退出 Vim,不做任何操作

A  终止本次编辑,返回终端


六、进阶功能(按需学习,提升效率)

1. 区块批量选择

适合批量选中、复制、删除大片内容

v  字符选择,按光标拖动选字符

V  行选择,直接选中整行

Ctrl+v  矩形区块选择,框选长方形区域

y  复制选中内容

d  删除选中内容

p  粘贴选中内容

2. 文字自动补全

写代码、输文件名时快速补全,和文件后缀相关

Ctrl+x 再按 Ctrl+n  基于本文内容补全

Ctrl+x 再按 Ctrl+f  基于当前目录文件名补全

Ctrl+x 再按 Ctrl+o  基于语法关键字补全

3. 多文件同时编辑

一次性打开多个文件,方便内容互相复制打开方式:vim 文件 1 文件 2 文件 3

:files  查看所有已打开文件

:n  切换到下一个文件

:N  切换到上一个文件

4. 多窗口分屏

一屏划分多个窗口,同时查看不同文件

:sp  水平分屏,打开当前文件

:sp 文件名  水平分屏并打开新文件示例::sp test.txt

Ctrl+w 再按 j / 向下键  光标切到下方窗口

Ctrl+w 再按 k / 向上键  光标切到上方窗口

Ctrl+w 再按 q  关闭当前窗口

5. 环境配置与使用记录

自定义 Vim 样式、查看历史记录

全局配置:/etc/vimrc  对所有用户生效

个人配置:~/.vimrc  仅对当前用户生效

:set all  查看全部环境参数

:set  查看已修改的参数

使用记录:~/.viminfo  自动记录编辑历史


七、跨系统文件格式问题(乱码解决方案)

1. 换行符不兼容

DOS 和 Linux 换行规则不同,跨系统传输会出现 ^M 乱码

DOS 换行:\r\n

Linux 换行:\n转换命令:

dos2unix 文件名  DOS 格式转 Linux

unix2dos 文件名  Linux 格式转 DOS

2. 字符编码转换(解决中文乱码)

使用 iconv 切换文件编码基础格式:iconv -f 原编码 -t 新编码 原文件 -o 新文件

iconv --list  查看系统支持的所有编码示例:iconv -f GBK -t UTF-8 test.txt -o new_test.txt将 GBK 编码转为 UTF-8,生成新文件 new_test.txt


八、新手快速总结

核心逻辑:打开文件 = 命令模式,按 Esc 永远回到命令模式

必学指令:光标移动、dd/yy/p、u、:wq、:q!,掌握这些可应对绝大多数场景

异常提醒:出现 .swap 文件,根据需求选择恢复或删除

乱码处理:换行符用 dos2unix,中文乱码用 iconv 转换

进阶技巧:区块选择、分屏、多文件编辑,适合批量操作与多文件对比

最新文章

随机文章