Vim命令技巧总结

Vim 命令详解与技巧总结

Vim 是 Linux 环境中功能最强大的文本编辑器之一,其核心设计理念是模式化编辑------通过将编辑与导航分离,让双手无需离开键盘即可完成所有操作。本文从基础到进阶,系统梳理 Vim 的核心命令与实用技巧。

一、核心模式

Vim 启动后默认进入普通模式(Normal Mode) ,这是执行所有编辑命令的入口。理解并熟练切换以下四种模式是掌握 Vim 的关键:

模式 进入方式 用途
普通模式 Esc(从任何模式返回) 移动光标、删除、复制、粘贴、撤销等
插入模式 i / a / o / I / A / O 输入文本内容
可视模式 v(字符)/ V(行)/ Ctrl+v(块) 选择文本进行批量操作
命令行模式 : 执行保存、退出、搜索替换等命令

核心原则 :任何模式下按 Esc 都能回到普通模式。

二、基础操作

1. 光标移动

字符级移动

  • h --- 左移一格

  • j --- 下移一行

  • k --- 上移一行

  • l --- 右移一格

单词级移动

  • w --- 跳到下一个单词开头

  • b --- 回到上一个单词开头

  • e --- 跳到当前单词末尾

  • 0 --- 跳到行首

  • ^ --- 跳到行首第一个非空白字符

  • $ --- 跳到行尾

文件级移动

  • gg --- 跳到文件第一行

  • G --- 跳到文件最后一行

  • :n --- 跳转到第 n 行(如 :10

  • Ctrl+f --- 向下翻一页

  • Ctrl+b --- 向上翻一页

  • Ctrl+d --- 向下翻半页

  • Ctrl+u --- 向上翻半页

2. 插入文本

命令 功能
i 在光标前插入
a 在光标后插入
I 在行首插入
A 在行尾插入
o 在当前行下方新建一行
O 在当前行上方新建一行

3. 删除、复制与粘贴

删除

  • x --- 删除当前字符

  • dd --- 删除当前行

  • dw --- 删除一个单词

  • d$ --- 删除从光标到行尾

  • D --- 同 d$

复制

  • yy --- 复制当前行

  • yw --- 复制一个单词

  • y$ --- 复制从光标到行尾

粘贴

  • p --- 粘贴到光标后

  • P --- 粘贴到光标前

4. 撤销与重做

  • u --- 撤销上一步操作

  • Ctrl+r --- 重做(撤销的逆操作)

5. 保存与退出

命令 功能
:w 保存文件
:q 退出(有修改时会提示)
:wq:x 保存并退出
:q! 强制退出,放弃修改
ZZ 保存并退出(普通模式下)
ZQ 强制退出不保存

三、高效编辑技巧

1. 操作符 + 动作命令的组合

Vim 最强大的特性之一是组合命令 :将一个操作符与一个动作命令组合,形成强大的编辑原语--23

常用操作符d(删除)、y(复制)、c(修改/删除并进入插入模式)、>(右缩进)、<(左缩进)、g~(切换大小写)。

组合示例

  • d2w --- 删除 2 个单词

  • y3j --- 复制当前行及向下 3 行

  • cw --- 修改从光标到单词结尾(删除并进入插入模式)

  • ciw --- 修改当前整个单词(change inner word)

  • dap --- 删除整个段落

  • da" --- 删除双引号及其内容

  • yip --- 复制当前段落

  • >> --- 当前行右缩进

  • << --- 当前行左缩进

2. 数字前缀(重复操作)

在命令前加数字可重复执行多次:

  • 3j --- 向下移动 3 行

  • 5w --- 向前跳转 5 个单词

  • 10dd --- 删除 10 行

  • 3p --- 粘贴 3 次-

3. 重复上一次操作

  • .(句号)--- 重复上一次编辑操作

4. 搜索与替换

搜索

  • /pattern --- 向下搜索 pattern

  • ?pattern --- 向上搜索 pattern

  • n --- 跳转到下一个匹配

  • N --- 跳转到上一个匹配

  • * --- 搜索光标下的单词(向下)

  • # --- 搜索光标下的单词(向上)

替换

  • :s/old/new --- 替换当前行第一个 old

  • :s/old/new/g --- 替换当前行所有 old

  • :%s/old/new/g --- 替换全文所有 old

  • :%s/old/new/gc --- 全文替换,每次需确认

5. 可视模式批量操作

三种选择方式

  • v --- 字符可视(精细选择)

  • V --- 行可视(整行选择)

  • Ctrl+v --- 块可视(列选择)

选中后可直接执行 d(删除)、y(复制)、>(缩进)等操作。

1. 批量插入(在相同列添加内容)

假设你想在第 3 列统一加一个逗号 ,

  1. 将光标移动到第一行目标列的位置(比如第 3 列)。

  2. Ctrl + v 进入可视块模式。

  3. 向下移动光标(按 jG)选中所有需要操作的行。

  4. Shift + i(即大写 I)进入插入模式。

  5. 输入你要添加的字符(如 ,)。

  6. 关键一步 :按 Esc 键,稍等片刻,所有选中的行都会在光标列插入该字符。


2. 批量修改/替换(将相同列的内容换成新文字)

如果你想把这列里的旧字符(比如所有行的第 2~5 列)统一改成新内容(如 ---):

  1. 将光标移到第一行目标列的起始位置。

  2. Ctrl + v 选中块,按 l(小写 L)向右扩展列,按 j 向下扩展行,精确框选住旧文本。

  3. c(修改)键,选中的矩形块会被删除并自动进入插入模式。

  4. 输入你要替换的新内容(如 ---)。

  5. Esc,新内容会填满整个选中的矩形区域。


3. 批量删除(删除相同列的内容)

想删除所有行第 5 列的单个字符,或连续 3 列的内容:

  • 删除单个字符Ctrl + v 选中多行的该列 → 按 d

  • 删除连续多列Ctrl + v 选中块 → 向右扩展(按 l)选中几列 → 按 d


4. 批量追加内容(在选中块的最右侧统一加东西)

如果你想在每行选中的列之后统一加内容(类似追加,而不是插入在光标前):

  1. Ctrl + v 选中列块(可以选择整列或只框选一个点)。

  2. Shift + a(即大写 A)进入插入模式。

  3. 此时光标会跳到当前行选中区域的末尾,输入你要追加的字符。

  4. Esc,所有行的同一列后面都会加上该字符。

四、进阶功能

1. 宏录制(自动化重复操作)

宏可以录制一系列操作并重复执行:

操作步骤

  1. qa --- 开始录制到寄存器 a(q + 寄存器名)

  2. 执行一系列操作(如删除、修改、移动等)

  3. q --- 结束录制

  4. @a --- 播放宏一次

  5. 10@a --- 播放宏 10 次

实战技巧 :录制时使用相对运动(如 f/t 定位)而非绝对行号,使宏更具通用性。

2. 寄存器系统

Vim 提供多种寄存器用于精细化的文本操作:

寄存器类型 表示 用途
无名寄存器 "" 默认操作寄存器
数字寄存器 "0-"9 存储删除历史
命名寄存器 "a-"z 持久化存储
黑洞寄存器 "_ 丢弃操作结果(删除不保存)

使用示例

  • "ayiw --- 将当前单词存入寄存器 a

  • "ap --- 粘贴寄存器 a 的内容

  • "+y --- 复制到系统剪贴板(需支持)

3. 分屏与多窗口

分屏操作

  • :sp [file] --- 水平分割窗口

  • :vsp [file] --- 垂直分割窗口

  • Ctrl+w w --- 在窗口间循环切换

  • Ctrl+w h/j/k/l --- 切换到左/下/上/右窗口

  • Ctrl+w c --- 关闭当前窗口

  • Ctrl+w = --- 均衡窗口大小

标签页

  • :tabnew [file] --- 新建标签页

  • gt --- 切换到下一个标签页

  • gT --- 切换到上一个标签页

4. 多文件编辑

  • vim file1 file2 --- 同时打开多个文件

  • :args --- 显示当前编辑的文件列表

  • :next --- 切换到下一个文件

  • :prev --- 切换到前一个文件

5. 插入模式下的小技巧

  • Ctrl+h --- 删除前一个字符

  • Ctrl+w --- 删除前一个单词

  • Ctrl+r+" --- 粘贴默认寄存器内容

  • Ctrl+r+= --- 插入表达式计算结果(如时间戳)

五、个性化配置(.vimrc)

Vim 的配置文件 ~/.vimrc 可高度定制:

bash 复制代码
" 显示设置
set number              " 显示行号
set relativenumber      " 显示相对行号
set cursorline          " 高亮当前行

" 缩进与制表符
set tabstop=4           " 制表符宽度
set expandtab           " 将制表符转为空格
set autoindent          " 自动缩进

" 搜索优化
set hlsearch            " 高亮搜索结果
set incsearch           " 增量搜索

" 语法高亮
syntax on               " 开启语法高亮
相关推荐
睡一觉就好了。24 天前
vim基础操作
linux·编辑器·vim
Tairitsu_H24 天前
告别默认Vim:Linux下轻松配置Vim开发环境
linux·编辑器·vim·配置
赛博三把手24 天前
实操篇一:Claude Code + Token173 国内直连 Anthropic Fable 5 完整接入教程
linux·编辑器·vim
c2385625 天前
Vim 高阶实操技巧篇
linux·编辑器·vim
c2385625 天前
Vim 零基础核心基础篇
linux·编辑器·vim
2601_961845151 个月前
考研网课资源网盘|2027|资料
数据库·vim·sublime text·figma·photoshop·墨刀·高考
阿旭超级学得完1 个月前
Linux基础指令 四(apt,vim,git,cgdb)
linux·服务器·开发语言·数据结构·c++·git·vim
无足鸟ICT1 个月前
【RHCA+】移动光标快捷键
linux·编辑器·vim
一段路1 个月前
【虚拟机】Linux常用命令
linux·vim