linux系统的vim命令大全
linux系统的vim命令大全详细介绍
以下是 Linux 系统中 Vim 编辑器的常用命令分类整理,涵盖基础操作、模式切换、文本编辑、高级功能等核心内容:
一、模式切换
- 正常模式(Normal Mode)
- 启动 Vim 后默认进入此模式,用于导航和执行命令
- 从其他模式返回:
- 插入模式 →
Esc - 可视化模式 →
Esc - 命令模式 → 执行完命令自动返回
- 插入模式 →
- 插入模式(Insert Mode)
- 进入方式:
i:在光标当前位置插入I:在当前行开头插入a:在光标后追加A:在当前行末尾追加o:在当前行下方新建一行插入O:在当前行上方新建一行插入s:删除光标处字符并插入(等效x+i)
- 进入方式:
- 命令模式(Command Mode)
- 输入
:进入,执行后自动返回正常模式 - 示例:
:w(保存)、:q(退出)、:set nu(显示行号)
- 输入
二、光标移动(正常模式)
基础移动
| 按键 | 功能 |
|---|---|
h / ← |
左移一个字符 |
l / → |
右移一个字符 |
j / ↓ |
下移一行 |
k / ↑ |
上移一行 |
w / W |
右移一个单词(W 忽略标点) |
b / B |
左移一个单词(B 忽略标点) |
0 |
移到行首 |
^ |
移到行首第一个非空字符 |
$ |
移到行尾 |
G |
移到文件末尾 |
gg |
移到文件开头 |
nG |
移到第 n 行(如 10G) |
Ctrl+f |
向下翻一页(Forward) |
Ctrl+b |
向上翻一页(Backward) |
智能移动
f<char>:在当前行向前搜索字符<char>并停在其位置F<char>:在当前行向后搜索字符<char>t<char>:在当前行向前搜索字符<char>并停在其前一个位置,/.:配合f/F/t使用,跳转到下一个 / 上一个匹配位置
三、文本编辑(正常模式)
删除 / 剪切
| 按键 | 功能 |
|---|---|
x |
删除光标处字符 |
nx |
删除光标处后 n 个字符 |
dd |
删除当前行(剪切) |
ndd |
删除从当前行开始的 n 行 |
d+移动命令 |
删除从光标到移动目标的内容(如 d$ 删除到行尾) |
D |
等价于 d$(删除到行尾) |
复制 / 粘贴
| 按键 | 功能 |
|---|---|
y+移动命令 |
复制内容(如 yy 复制当前行,nyy 复制 n 行) |
p |
在光标后粘贴(下一行粘贴行内容) |
P |
在光标前粘贴(上一行粘贴行内容) |
修改
| 按键 | 功能 |
|---|---|
r<char> |
替换光标处字符为 <char> |
R |
进入替换模式,持续替换直到 Esc |
cc |
删除当前行并进入插入模式(等效 dd+i) |
ncw |
修改从光标开始的 n 个单词(删除并插入) |
撤销 / 重做
| 按键 | 功能 |
|---|---|
u |
撤销上一次操作 |
Ctrl+r |
重做撤销的操作 |
U |
撤销当前行所有修改 |
四、查找与替换(正常模式 & 命令模式)
查找(正常模式)
/_pattern:向下搜索正则表达式pattern?pattern:向上搜索正则表达式patternn:下一个匹配项N:上一个匹配项
替换(命令模式)
格式::[范围]s/旧内容/新内容/[选项]
- 范围:
- 省略:当前行
%:所有行n,m:第n行到第m行
- 选项:
g:全局替换(每行所有匹配项,否则只替换第一个)i:忽略大小写c:替换前询问确认
示例:
- 替换当前行第一个
old为new::s/old/new - 替换所有行的
old为new(全局)::%s/old/new/g - 替换所有行的
Old或old为new(忽略大小写)::%s/old/new/gi
五、多文件与分屏操作
文件操作(命令模式)
| 命令 | 功能 |
|---|---|
:w |
保存当前文件 |
:w 文件名 |
另存为新文件 |
:q |
退出(仅当文件未修改时有效) |
:q! |
强制退出,不保存修改 |
:wq / :x |
保存并退出 |
:e 文件名 |
打开新文件(放弃当前修改,需先保存) |
:bn / :bp |
切换到下一个 / 上一个打开的文件(需通过 :files 查看文件列表) |
分屏操作(正常模式)
| 命令 | 功能 |
|---|---|
:split [文件] |
水平分割窗口,打开文件(无文件则复制当前文件) |
:vsplit [文件] |
垂直分割窗口,打开文件 |
Ctrl+w + 方向键 |
切换窗口(或 Ctrl+w + h/j/k/l) |
:close |
关闭当前窗口 |
六、高级功能
可视化模式
- 进入:
v:字符级可视化(选择字符)V:行级可视化(选择整行)Ctrl+v:块级可视化(选择矩形区域)
- 操作:
- 移动光标选择区域,按
d删除、y复制、r替换区域内容
- 移动光标选择区域,按
宏录制
- 录制:
qa开始录制到寄存器a,执行操作,q结束录制 - 播放:
@a播放寄存器a中的宏,n@a播放n次
正则表达式
- 匹配任意字符:
. - 匹配单词边界:
\<和\>(如\<word\>精确匹配单词) - 匹配次数:
\{n\}(恰好n次)、\{n,\}(至少n次)、\{,n\}(最多n次) - 分组:
\(pattern\),引用分组:\1(如s/\(ab\)c/\1d/替换abc为abd)
配置与插件
- 临时配置:命令模式下
:set 选项(如:set number显示行号,:set nonumber关闭) - 永久配置:修改用户配置文件
~/.vimrc或系统配置/etc/vim/vimrc - 插件管理:常用工具如
vim-plug、Pathogen,通过配置文件加载插件
七、快速参考表
| 功能 | 正常模式命令 | 命令模式示例 |
|---|---|---|
| 保存 | — | :w |
| 退出 | — | :q(未修改时)、:q!(强制) |
| 插入模式进入 | i、a、o 等 |
— |
| 删除一行 | dd |
— |
| 复制一行 | yy |
— |
| 粘贴 | p(后)、P(前) |
— |
| 查找 | /pattern、n、N |
— |
| 替换 | — | :%s/old/new/g |
| 分屏 | Ctrl+w + s/v |
:split、:vsplit |
学习建议
- 掌握核心模式:熟练切换正常模式、插入模式、命令模式,避免卡死在插入模式。
- 练习移动命令:减少使用方向键,用
h/j/k/l或单词跳转提高效率。 - 结合数字:在命令前加数字(如
3dd删除 3 行,5j下移 5 行)。 - 使用帮助:命令模式下
:help查看官方文档,输入:help 命令查看具体用法(如:help dd)。
Vim 的强大在于可定制性和快捷键组合,初期建议从基础命令入手,逐步学习可视化模式、宏、正则表达式等进阶功能。