Vim核心操作

Vim 是 Linux 环境下强大的文本编辑器,以纯键盘操作实现高效编辑。本指南覆盖文件操作、模式切换、搜索、保存等核心功能,帮助你快速入门。


一、核心概念:两大基础模式

Vim 的使用基于模式切换,理解模式是高效编辑的关键。

模式 功能说明 进入方式
正常模式 默认模式,用于移动、删除、复制、搜索等操作 打开文件自动进入 / 任意模式下按 ESC
插入模式 输入与编辑文本 在正常模式下按 i / a / o 等(左下角显示 -- INSERT --
命令行模式 执行保存、退出、替换等命令 正常模式下按 : 进入

💡 提示:ESC 是模式切换的核心键,建议养成「操作完成 → 按 ESC」的习惯。


二、基础操作详解

1. 打开文件

bash 复制代码
vim 文件名
  • 文件存在 → 直接加载
  • 文件不存在 → 打开空白缓冲区,保存后生成文件

2. 模式切换

正常模式 → 插入模式
按键 功能说明 示例场景
i 在光标前插入 修改句子中间的单词
I 在行首插入 给一行加注释
a 在光标后插入 在单词后追加字符
A 在行尾插入 在行末加 ;
o 在下方新建一行并插入 新增代码行(最常用)
O 在上方新建一行并插入 在配置前加一行说明
插入模式 → 正常模式
  • ESCCtrl+[

3. 搜索文件内容(正常模式下)

  1. 输入 /关键词 → 按 Enter 开始搜索
  2. n 跳转下一个匹配,N 跳转上一个
  3. 取消高亮::nohl

4. 保存与退出(命令行模式)

  1. 正常模式下按 : 进入命令行模式
  2. 常用命令:
命令 功能说明 场景
:w 保存文件(不退出) 编辑中途保存
:wq / :x 保存并退出(:x 更智能) 编辑完成后退出(最常用)
:q! 强制退出不保存 放弃修改
:w 新文件名 另存为新文件 备份或另存编辑结果

💡 :x 仅在文件有改动时保存,避免多余写入;:wq 则始终保存。


三、高频问题

按 ESC 无反应?

  • Ctrl+[ 替代
  • Ctrl+C 中断后再试

报错 E37: No write since last change

  • 保存退出::wq
  • 放弃修改::q!

搜索后高亮怎么去掉?

  • 输入 :nohl

四、操作速查表

场景 操作命令 模式要求
打开文件 vim 文件名 Shell 命令行
开始编辑 i / a / o / O 正常 → 插入模式
停止编辑 ESC 插入 → 正常模式
搜索关键词 /关键词 正常模式
保存文件 :w 命令行模式
保存并退出 :wq / :x 命令行模式
强制退出不保存 :q! 命令行模式

五、进阶

掌握基础后,可逐步学习以下命令提升效率:

  1. 文本操作
    • 复制:y(yy = 复制整行)
    • 删除:d(dd = 删除整行)
    • 粘贴:p
  2. 快速移动
    • 行首:0
    • 行尾:$
    • 文件头:gg
    • 文件尾:G
  3. 批量编辑
    • 多行缩进:> / <
    • 全文替换::%s/旧/新/g

💡 随时输入 :help 查看内置文档。


相关推荐
冰冰的coco3 分钟前
如何设置需要sudo的命令开机自启动
linux·运维·服务器
辞旧 lekkk4 分钟前
【Linux】Linux进程控制(三)自主实现简易shell命令行解释器
linux·运维·服务器·学习·萌新
HIT_Weston16 分钟前
119、【Ubuntu】【Hugo】首页板块配置:Template Lookup Order
linux·运维·ubuntu
wangt595219 分钟前
Ubuntu22.04.5的网络配置在重启后被重置的问题
linux·运维·服务器
不被定义的程序猿20 分钟前
如何使用docker搭建一个 aarch-linux-gun-gcc的交叉编译环境
linux·运维·服务器
RisunJan22 分钟前
Linux命令-logrotate(自动轮转、压缩、删除和邮件发送日志文件)
linux·运维·服务器
Marry Andy32 分钟前
Atlas 300l Duo部署qwen3_32b_light
linux·人工智能·经验分享·语言模型·自然语言处理
微露清风41 分钟前
系统性学习Linux-第三讲-进程概念
linux·运维·学习
请你喝好果汁64141 分钟前
Linux-sh -c \dirname
linux·运维·服务器
Trouvaille ~42 分钟前
【Linux】线程同步与互斥(四):线程池与任务管理
linux·运维·服务器·c++·操作系统·线程池·日志系统