Vim核心操作

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


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

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

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

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


二、基础操作详解

1. 打开文件

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

2. 模式切换

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

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 查看内置文档。


相关推荐
Felven9 小时前
stress-ng 与 fio 性能测试工具使用指南
linux·测试工具·fio·stress-ng
huainingning10 小时前
RJ SW Console口忘记密码处理方法
linux·运维·服务器
布裘10 小时前
【银河麒麟】桌面系统循环登录,无法进入桌面?
linux·运维·服务器
慧都小项10 小时前
程序到了Linux才出错?用CLion把调试接到目标环境
linux·运维·服务器
Ruiery12 小时前
Linux 6.6内核内存管理深度解析(一):物理内存初始化 — memblock 怎么把内存交给 buddy
linux·运维·服务器
天蓝蓝的本我13 小时前
conda日常用到的命令积累1-登录linux,安装pycharm
linux·pycharm·conda
Android系统攻城狮13 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_max调用流程与实战(五十九)
linux·运维·服务器·gstreamer音视频·音视频进阶·gstreamer音视频进阶
忆挽篱笙歌14 小时前
makefil
linux·运维·服务器
菜_小_白15 小时前
codex
linux·vscode·ai
zhangrelay15 小时前
用ROS2Lyrical实验报告册思路重做蓝桥云课ROS1实验并改进
linux·笔记·学习·ubuntu·机器人