Vim 高阶实操技巧篇

本篇目标:掌握光标快捷操作、批量编辑、查找替换、永久美化配置、实战场景应用,从「会用」变成「熟练高效用」

一、正常模式高阶操作(光标移动+批量编辑)

所有操作均在正常模式下执行(先按ESC),无需打字,一键完成操作,大幅提升效率。

1. 极速光标移动(告别方向键)

新手建议熟记,不用反复抬手按方向键,键盘原位操作:

  • h:光标向左移动一个字符

  • j:光标向下移动一行

  • k:光标向上移动一行

  • l:光标向右移动一个字符

  • 0(数字0):直接跳转到当前行最开头

  • $:直接跳转到当前行最末尾

  • gg:跳转到整个文件第一行

  • G:跳转到整个文件最后一行

  • nG:跳转到指定行(例:10G 跳转到第10行)

2. 复制、删除、粘贴、撤销(高频核心)

|----------|--------------------|---------------|
| 命令 | 作用详解 | 实操举例 |
| x | 删除光标所在的单个字符 | 光标在错字上,按x一键删除 |
| dd | 删除光标所在整行(最常用) | 选中多余行,按dd直接清空 |
| dw | 删除光标所在的一个单词 | 快速删除英文/代码单词 |
| yy | 复制光标所在整行 | 复制配置行、代码行 |
| p | 在光标下一行粘贴内容 | yy复制后,按p无限粘贴 |
| u | 撤销上一步操作(等同于Ctrl+Z) | 删错、改错一键撤回 |
| Ctrl+r | 恢复被撤销的操作(反向撤销) | 撤回改错后,恢复原有内容 |

二、末行模式高阶功能(查找+替换+行号设置)

正常模式按 : 进入,所有命令针对全局文件生效,适合批量操作。

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. 打开配置文件

cpp 复制代码
vim ~/.vimrc

2. 写入永久优化配置(逐行解释,放心复制)

按i进入编辑,粘贴以下全部内容:

cpp 复制代码
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++代码(链表代码适配)

  1. 终端输入 vim list.cpp 新建代码文件

  2. i进入编辑,写入双向循环链表代码

  3. ESC退出编辑,:set nu 显示行号,排查代码错误

  4. :wq 保存,g++编译运行

场景2:修改Linux系统配置(运维常用)

  1. 输入 sudo vim /etc/ssh/sshd_config 打开配置文件

  2. /port 快速查找端口配置

  3. i进入编辑修改参数

  4. ESC → :wq 保存,重启服务生效

场景3:快速批量修改文本内容

  1. 打开文件后,使用:%s/旧文本/新文本/g 全局替换

  2. 搭配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(全局替换)
谢谢

相关推荐
Plastic garden1 小时前
Linux下rsync + inotify 实时文件同步方案
linux·运维·服务器
c238561 小时前
Vim 零基础核心基础篇
linux·编辑器·vim
liulilittle1 小时前
删除 Inflight Bounds:为什么 KCC 放弃了 BDP 钳位
linux·网络·tcp/ip·计算机网络·信息与通信·tcp·通信
风吹落枫2 小时前
银河麒麟V10 P1左下角不显示时间问题解决
linux
江华森2 小时前
深入 Linux 性能调试 —— BPF 与 BCC 工具实战指南
linux·运维·服务器
qq_163135752 小时前
Linux 【06-cp命令超详细教程】
linux
wangyadong3172 小时前
重新安装k3s,因为我安装jenkins 的时候报错了。不知道为啥rancher 访问不了了。
linux·服务器·rancher
♛识尔如昼♛2 小时前
Linux 设备驱动程序(3)- 字符驱动(2)
linux·驱动开发·字符设备驱动
浊酒南街2 小时前
列表和元组知识总结
linux·python