Vim/Vi 常用命令速查手册

Vim/Vi 常用命令速查手册

Vim/Vi 是一款强大的文本编辑器,掌握常用命令可以极大提高编辑效率。以下是分类整理的常用命令:


一、基本操作

命令 功能
vi 文件名 打开/创建文件
:q 退出(无修改时)
:q! 强制退出(不保存)
:w 保存文件
:wq 或 ZZ 保存并退出
:x 保存并退出(仅修改时保存)

二、光标移动

命令 功能
h j k l 左、下、上、右移动
0 跳至行首
^ 跳至行首第一个非空白字符
$ 跳至行尾
gg 跳至文件第一行
G 跳至文件最后一行
:n 或 nG 跳至第 n 行(如 :10 或 10G)
Ctrl + f 向下翻页(Page Down)
Ctrl + b 向上翻页(Page Up)
w 跳至下一个单词开头
b 跳至上一个单词开头
e 跳至当前单词末尾

三、插入与编辑

命令 功能
i 在光标前插入
a 在光标后插入
I 在行首插入
A 在行尾插入
o 在当前行下方插入新行
O 在当前行上方插入新行
x 删除当前字符
dd 删除当前行
yy 复制当前行
p 粘贴到光标后
P 粘贴到光标前
u 撤销(Undo)
Ctrl + r 重做(Redo)
r 替换当前字符(如 rx 替换为 x)
cw 修改当前单词(删除并进入插入模式)

四、查找与替换

命令 功能
/关键词 向下查找(如 /error)
?关键词 向上查找
n 跳至下一个匹配项
N 跳至上一个匹配项
:s/old/new 替换当前行第一个匹配
:s/old/new/g 替换当前行所有匹配
:%s/old/new/g 全局替换
:set hlsearch 高亮查找结果
:nohlsearch 临时关闭高亮

五、多文件操作

命令 功能
:e 文件名 打开另一个文件
:bn 切换到下一个缓冲区
:bp 切换到上一个缓冲区
:bd 关闭当前缓冲区
:ls 列出所有缓冲区
:vsp 文件名 垂直分屏打开文件
:sp 文件名 水平分屏打开文件
Ctrl + w + w 切换窗口

六、高级技巧

命令 功能
. 重复上一次修改
>> 缩进当前行
<< 取消缩进当前行
:%!sort 对文件内容排序
:r !命令 插入命令输出(如 :r !date 插入当前日期)
Ctrl + v 进入块选择模式
:set number 显示行号
:set nonumber 隐藏行号

七、宏录制

命令 功能
q字母 开始录制宏(如 qa)
q 停止录制
@字母 执行宏(如 @a)
@@ 重复上一次宏

八、Vim 配置

命令 功能
:help 命令 查看帮助(如 :help :w)
:version 查看 Vim 版本
:set 查看当前配置
:set tabstop=4 设置 Tab 为 4 个空格
:set expandtab 将 Tab 转换为空格

总结

  • 基本操作 ::wq、i、Esc
  • 光标移动 :h j k l、gg、G
  • 编辑 :dd、yy、p、u
  • 查找替换 :/、?、:%s/old/new/g
  • 分屏 ::vsp、:sp、Ctrl + w + w
  • 宏 :qa、q、@a

掌握这些命令后,你可以高效使用 Vim/Vi 进行文本编辑!🚀

相关推荐
沫璃染墨3 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
香芋芋圆4 小时前
iD-editor 详解|OSM官方在线编辑器,基于D3.js的轻量地图编辑器
开发语言·javascript·编辑器
AI_Lab015 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
by209995 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
星恒随风5 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
feng_you_ying_li8 小时前
linux之网络层
linux·运维·网络
未来之窗软件服务8 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
小雉系统8 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
thethefighter8 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
qinglongcn9 小时前
Agent 可能出什么事——五类异常与应对
人工智能·编辑器·ai编程