什么是 Vim?
Vim(Vi IMproved)是 Linux/Unix 系统中最强大的文本编辑器之一。它以其高效的键盘操作、极低的资源占用和强大的可扩展性闻名。无论是服务器配置、代码编写还是日志查看,Vim 都是 Linux 用户的必备工具。本文将详细讲解 Vim 的各类命令,助你从入门到精通!
01
Vim 的三种模式
普通模式:默认模式,用于浏览、删除、复制等操作。按 Esc 键进入
插入模式:用于输入文本。按 i/a/o 等键进入,按 Esc 返回普通模式
命令模式:用于执行保存、退出、搜索等命令。按 : 键进入
02
光标移动命令
h j k l 左/下/上/右移动,不用方向键更高效
w 跳到下一个单词开头(word)
b 跳到上一个单词开头(back)
e 跳到当前单词结尾(end)
0 跳到行首(数字零)
^ 跳到行首第一个非空字符
$ 跳到行尾
gg 跳到文件第一行
G 跳到文件最后一行
nG 跳到第 n 行,如 20G 跳到第 20 行
Ctrl+f 向下翻页(forward)
Ctrl+b 向上翻页(backward)
{ } 跳到上一个/下一个段落
03
插入与编辑命令
i 在光标前插入(insert)
I 在行首插入
a 在光标后插入(append)
A 在行尾插入
o 在当前行下方新建一行
O 在当前行上方新建一行
x 删除光标处字符
X 删除光标前字符
r 替换单个字符
R 进入替换模式,连续替换
dd 删除当前行,常用!
dw 删除当前单词
d$ 删除到行尾
d0 删除到行首
yy 复制当前行(yank)
yw 复制当前单词
p 在光标后粘贴
P 在光标前粘贴
u 撤销(undo)
Ctrl+r 重做(redo)
. 重复上一次操作,神器!
04
搜索与替换
/text 向下搜索 text,按 n 下一个,N 上一个
?text 向上搜索 text
* 搜索光标所在单词(向下)
# 搜索光标所在单词(向上)
:%s/old/new 替换每行第一个 old 为 new
:%s/old/new/g 全局替换,最常用!
:%s/old/new/gc 全局替换,每次确认
:noh 取消搜索高亮
05
文件操作命令
:w 保存文件(write)
:w file另存为 file
:q 退出(quit)
:q! 强制退出不保存
:wq 保存并退出,最常用!
:x 保存并退出(同 :wq)
:e file 打开文件(edit)
:r file 读取 file 内容到当前位置
:saveas file 另存为 file
06
可视模式
v 进入字符可视模式
V 进入行可视模式
Ctrl+v 进入块可视模式(列选择)
> 选中后右缩进
< 选中后左缩进
y 选中后复制
d 选中后删除
07
多窗口与标签页
:sp 水平分割窗口(split)
:vsp 垂直分割窗口(vsplit)
Ctrl+w w 在窗口间循环切换
Ctrl+w h/j/k/l 向指定方向切换窗口
Ctrl+w q 关闭当前窗口
:tabnew 新建标签页
gt 下一个标签页(go tab)
gT 上一个标签页
:tabc 关闭当前标签页
08
~ 切换光标处字符大小写
>> 当前行右缩进
<< 当前行左缩进
J 合并当前行与下一行
Ctrl+g 显示当前文件信息
ga 显示光标字符的 ASCII 码
K 查找光标单词的手册页
学习建议
循序渐进:先掌握 h j k l 移动,再学习编辑命令
多练习:每天使用 Vim 编辑文件,形成肌肉记忆
vimtutor:终端输入 vimtutor,跟着官方教程学习
配置 .vimrc:自定义快捷键和插件,提升效率
记住口诀:"移动用 hjkl,编辑用 ia,保存用 :wq"造。
@
常见问题
Q: 如何退出 Vim?A: 按 Esc 确保在普通模式,然后输入 :q 回车(未修改)或 :wq 回车(保存后退出)Q: 不小心按了 Ctrl+s 卡住了?A: Linux 终端中 Ctrl+s 是暂停输出,按 Ctrl+q 恢复Q: 如何显示行号?A: 命令模式输入 :set number 或简写 :set nu