Vim 编辑器完全指南:Linux 下的强大文本编辑
一、为什么学 Vim?
Linux 服务器上没有图形界面时,Vim 是唯一可靠的文本编辑器。更重要的是,Vim 的快捷键在很多场景下都能用——终端、IDE、甚至浏览器插件。
它的核心哲学是:双手不离开主键盘,就能完成所有编辑操作。
二、Vim 的三种模式
Vim 和普通编辑器不同,它有多种模式,不同模式下同一按键代表不同含义。
| 模式 | 用途 | 如何进入 |
|---|---|---|
| 普通模式 | 浏览、移动、删除、复制 | 启动后默认就是这个模式 |
| 插入模式 | 真正输入文字 | 在普通模式下按 i 或 a |
| 命令模式 | 保存、退出、搜索、替换 | 在普通模式下按 : |
三、启动与退出
vim 文件名 # 打开文件(不存在则新建)
vim -r 文件名 # 恢复意外关闭的文件
在命令模式下:
:w # 保存(write)
:wq # 保存并退出(最常用!)
:x # 保存并退出(效果同 wq)
:q! # 不保存强制退出
ZZ # 保存并退出(不需要按冒号)
四、普通模式:移动光标
不需要方向键,左手就能搞定:
h # 向左移动一格
j # 向下移动一行
k # 向上移动一行
l # 向右移动一格
w # 跳到下一个单词开头
b # 跳到上一个单词开头
0 # 跳到行首
$ # 跳到行尾
gg # 跳到文件开头
G # 跳到文件末尾
:20 # 跳到第20行(回车确认)
Ctrl+d # 向下翻半页
Ctrl+u # 向上翻半页
五、普通模式:编辑操作
# 删除
x # 删除光标所在字符
dd # 删除整行(最常用!)
5dd # 删除从光标往下5行
dw # 删除一个单词
复制(yank)和粘贴
yy # 复制整行
5yy # 复制从光标往下5行
p # 在光标下方粘贴
P # 在光标上方粘贴
撤销和重做
u # 撤销上一次操作
Ctrl+r # 重做(恢复撤销)
.
六、搜索与替换
/关键词 # 在文件中搜索(向下)
?关键词 # 在文件中搜索(向上)
n # 跳到下一个搜索结果
N # 跳到上一个搜索结果
替换当前行第一个关键词
:s/旧/新/
替换当前行所有关键词
:s/旧/新/g
替换整个文件所有匹配项
:%s/旧/新/g
替换前确认(逐个确认)
:%s/旧/新/gc
七、分屏与多文件
:sp 文件名 # 水平分屏(同一窗口上下两个文件)
:vsp 文件名 # 垂直分屏(同一窗口左右两个文件)
Ctrl+w w # 在分屏间切换
Ctrl+w q # 关闭当前分屏
:only # 只保留当前分屏
八、Vim 配置(让你的 Vim 更顺手)
创建或编辑 ~/.vimrc 文件:
set number " 显示行号
set relativenumber " 显示相对行号(方便跳行)
set showcmd " 显示正在输入的命令
set cursorline " 高亮当前行
syntax on " 语法高亮
set tabstop=4 " Tab 宽度
set expandtab " 用空格代替 Tab
九、常见问题
不小心进入了一个奇怪的模式
狂按 Esc 回到普通模式,然后重新开始。
如何复制粘贴外部内容?
在终端中:鼠标选中文字(自动复制),在 Vim 普通模式下按 p 粘贴。在可视化模式下选中后按 y 复制到 Vim 剪贴板。
关闭时提示 No write since last change
因为你修改了文件但没保存。用 :q! 强制不保存退出,或 :wq 保存后退出。