Vim 编辑器工作模式及操作指南

Vim 编辑器工作模式及操作指南

一、工作模式概述

Vim编辑器主要包含四种工作模式,分别是:

  • 命令模式(默认进入模式)
  • 输入模式(编辑模式)
  • 末行模式(指令模式)
  • 可视模式

二、模式切换及操作

1. 命令模式

是Vim的默认模式,可执行光标移动、复制、删除等操作,无法直接输入文本。

(1)命令模式 → 输入模式(编辑模式)

通过以下按键进入输入模式:

  • i:在当前光标位置插入编辑
  • I:在光标所在行行首插入编辑
  • o:在光标所在行下方新建一行并编辑
  • O:在光标所在行上方新建一行并编辑
  • a:在光标位置后一位插入编辑
  • A:在光标所在行行尾插入编辑
  • s:删除光标所在字符后插入编辑
  • S:删除光标所在行后插入编辑
    返回命令模式 :按Esc键)
(2)命令模式中的常用快捷键
  • 光标定位

    • G:跳转到文本最后一行
    • gg:跳转到文本第一行
    • nG/ngg:跳转到第n行(如10G/10gg跳转到第10行)
    • ctrl+f:向下翻页
    • ctrl+b:向上翻页
    • home/^/0:光标移动到行首
    • end/$:光标移动到行尾
  • 删除操作

    • x/del:删除光标所在字符
    • dd:删除光标所在整行
    • ndd:删除从光标行开始的n行(如3dd删除3行)
    • d^:删除光标前字符到行首的内容
    • d$:删除光标处到行尾的内容(含光标字符)
  • 复制粘贴

    • yy:复制光标所在整行
    • nyy:复制从光标行开始的n行(如5yy复制5行)
    • p:在光标下一行粘贴复制内容
    • P:在光标上一行粘贴复制内容
  • 查找功能

    • /关键词:向下查找关键词
    • n:继续向下查找
    • N:向上查找
    • 消除查找高亮:需进入末行模式执行:noh

2. 末行模式

由命令模式输入:(冒号)进入,用于执行保存、退出、设置等指令。

常用末行命令:
  • :q:不保存退出
  • :q!:强制不保存退出
  • :wq:保存并退出
  • :wq!:强制保存并退出
  • :set nu:显示行号
  • :set nu!:取消行号显示
  • :w /路径/文件名:将内容保存到指定文件(如:w /tmp/bb
  • :e /路径/文件名:打开新文件(需先保存当前文件)
  • :r /路径/文件名:读取其他文件内容并插入当前文件(如:r /tmp/cc
  • :nohl:取消查找高亮(同:noh
文本替换命令:
  • :%s/旧内容/新内容/g:替换全文所有匹配的旧内容
  • :%s/旧内容/新内容:替换每行第一个匹配的旧内容
  • :n,m s/旧内容/新内容/g:替换n到m行中所有匹配的旧内容(如:1,7 s/旧/新/g

3. 多文件操作

  • vim 文件1 文件2 -o:水平分屏同时打开多个文件
  • vim 文件1 文件2 -O:垂直分屏同时打开多个文件
  • 分屏切换:按ctrl + w

4. 可视模式

由命令模式进入,用于选择文本块进行操作,按Esc返回命令模式。

三种可视模式:
  • 字符模式 :按v(小写)进入,按字符单位选择文本,按x删除选中内容
  • 行模式 :按V(大写,shift+v)进入,按行单位选择文本
  • 块模式 :按ctrl+v进入,按矩形块单位选择文本(适合列操作)

三、模式切换总结

  • 命令模式 ↔ 输入模式:通过i/I/o/O/a/A/s/S(进入输入)和Esc(返回命令)
  • 命令模式 ↔ 末行模式:通过:(进入末行)和Esc(返回命令)
  • 命令模式 ↔ 可视模式:通过v/V/ctrl+v(进入可视)和Esc(返回命令)