Vim 高阶实操技巧篇
本篇目标:掌握光标快捷操作、批量编辑、查找替换、永久美化配置、实战场景应用,从「会用」变成「熟练高效用」。
一、正常模式高阶操作(光标移动+批量编辑)
所有操作均在正常模式下执行(先按ESC),无需打字,一键完成操作,大幅提升效率。
1. 极速光标移动(告别方向键)
新手建议熟记,不用反复抬手按方向键,键盘原位操作:
h:光标向左移动一个字符j:光标向下移动一行k:光标向上移动一行l:光标向右移动一个字符0(数字0):直接跳转到当前行最开头$:直接跳转到当前行最末尾gg:跳转到整个文件第一行G:跳转到整个文件最后一行nG:跳转到指定行(例:10G跳转到第10行)
2. 复制、删除、粘贴、撤销(高频核心)
命令 | 作用详解 | 实操举例 |
| 删除光标所在的单个字符 | 光标在错字上,按x一键删除 |
| 删除光标所在整行(最常用) | 选中多余行,按dd直接清空 |
| 删除光标所在的一个单词 | 快速删除英文/代码单词 |
| 复制光标所在整行 | 复制配置行、代码行 |
| 在光标下一行粘贴内容 | yy复制后,按p无限粘贴 |
| 撤销上一步操作(等同于Ctrl+Z) | 删错、改错一键撤回 |
| 恢复被撤销的操作(反向撤销) | 撤回改错后,恢复原有内容 |
二、末行模式高阶功能(查找+替换+行号设置)
正常模式按:进入,所有命令针对全局文件生效,适合批量操作。
1. 行号显示(写代码/改配置必备)
:set nu:临时显示行号(当前文件生效,关闭后失效):set nonu:关闭行号显示
2. 关键词查找(快速定位代码/配置)
操作:正常模式按/,输入关键词回车
/关键词:向下查找匹配内容,自动高亮标记n:跳转到下一个匹配结果N:跳转到上一个匹配结果
实操举例:/root快速查找文件中所有root关键词
3. 全局内容替换(批量修改)
:s/旧内容/新内容:仅替换当前行第一个匹配内容:s/旧内容/新内容/g:替换当前行所有匹配内容:%s/旧内容/新内容/g:全文所有内容批量替换(最常用)
实操举例::%s/2025/2026/g将文件中所有2025替换为2026
三、Vim永久个性化配置(新手必装,一键美化)
默认Vim无行号、无高亮、缩进混乱,体验极差。我们可以修改全局个人配置文件,永久优化所有文件的编辑体验。
1. 打开配置文件
vim ~/.vimrc2. 写入永久优化配置(逐行解释,放心复制)
按i进入编辑,粘贴以下全部内容:
set nu " 永久显示行号 set autoindent " 自动缩进,换行对齐上一行格式 set smartindent " 代码智能缩进(适配C++/Shell代码) syntax on " 开启语法高亮(代码彩色显示) set tabstop=4 " Tab键等于4个空格(代码规范) set shiftwidth=4 " 自动缩进宽度为4个空格 set expandtab " Tab自动转为空格,避免格式错乱 set cursorline " 高亮当前光标行,方便定位3. 生效配置
按ESC → 输入:wq保存退出,后续所有Vim文件自动生效所有配置。
四、三大高频实战场景(工作/学习直接套用)
场景1:编写C++代码(链表代码适配)
终端输入
vim list.cpp新建代码文件i进入编辑,写入双向循环链表代码
ESC退出编辑,:set nu 显示行号,排查代码错误
:wq 保存,g++编译运行
场景2:修改Linux系统配置(运维常用)
输入
sudo vim /etc/ssh/sshd_config打开配置文件/port 快速查找端口配置
i进入编辑修改参数
ESC → :wq 保存,重启服务生效
场景3:快速批量修改文本内容
打开文件后,使用
:%s/旧文本/新文本/g全局替换搭配dd删除多余行、yy复制通用配置行
五、新手终极避坑指南(常见报错解决)
问题1:按键盘乱跳、输入无效 → 解决:全程先按ESC回到正常模式,再执行对应操作
问题2:提示E325: ATTENTION(有临时缓存文件)→ 解决:输入
:q!强制退出,删除目录下的 .文件名.swp 隐藏文件问题3:保存提示权限不足 → 解决:加sudo打开文件
sudo vim 文件名问题4:缩进错乱 → 解决:开启上面的永久配置,统一Tab缩进格式
六、Vim核心命令终极速查表
基础操作:打开(vim 文件名)、编辑(i)、保存退出(ESC+:wq)、强制退出(ESC+:q!)
光标操作:gg(首行)、G(尾行)、0(行首)、$(行尾)
编辑操作:dd(删行)、yy(复制)、p(粘贴)、u(撤销)
高阶操作::set nu(行号)、/关键词(查找)、:%s/旧/新/g(全局替换)
