为什么必学 vim
服务器上很可能没有 nano、没有 VS Code、没有 GUI——Vim 几乎所有 Linux 都自带。这是远程改配置的最低公分母。
学会 30 分钟,受益十年。
三种模式
普通模式(Normal) ← 默认进来这个;按 j/k/h/l 移动
↓ 按 i / a / o
插入模式(Insert) ← 输入文字
↓ 按 Esc
普通模式
↓ 按 :
命令行模式 ← 输入 :w :q :wq 等
普通模式
↓ 按 v / V
可视模式(Visual) ← 选择文本
任何时候按 Esc 回到普通模式——记住这条就不会卡死。
最低必学的命令
进入 / 退出
vim file.txt 启动 + 打开
:w 保存
:w! 强制保存(root 文件需要 sudo vim)
:q 退出
:q! 不保存强退
:wq 保存退出
ZZ 保存退出(普通模式快捷)
移动
h j k l ← ↓ ↑ →
w 下一个词头
b 上一个词头
0 行首
^ 行首(非空白)
$ 行尾
gg 文件头
G 文件尾
:42 跳到第 42 行
Ctrl+f / Ctrl+b 下 / 上一页
编辑
i 光标前插入
a 光标后插入
I 行首插入
A 行尾插入
o 下方新行
O 上方新行
x 删一个字符
dd 删一行
3dd 删 3 行
yy 复制一行
3yy 复制 3 行
p 粘贴(光标后)
P 粘贴(光标前)
u 撤销
Ctrl+r 重做
搜索 / 替换
/keyword 向下搜
?keyword 向上搜
n 下一个匹配
N 上一个匹配
:%s/old/new/g 全文替换 old → new
:%s/old/new/gc 替换前问 yes/no
.vimrc 推荐基础配置
~/.vimrc:
" 显示行号
set number
set relativenumber
" 缩进
set expandtab " Tab 转空格
set tabstop=4 " Tab 宽 4 空格
set shiftwidth=4 " 自动缩进 4 空格
set autoindent
" 搜索
set hlsearch " 高亮匹配
set incsearch " 边输边搜
set ignorecase " 忽略大小写
set smartcase " 但搜大写时区分
" 文件类型识别
syntax on " 语法高亮
filetype plugin indent on
" 字符编码
set encoding=utf-8
" 鼠标支持
set mouse=a
" 状态栏
set laststatus=2
set ruler
" 文件历史
set history=500
set undofile " 持久化撤销历史
把这段保存到 ~/.vimrc → 下次打开 vim 立即生效。
实战速查
# 改 nginx 配置
sudo vim /etc/nginx/nginx.conf
# 进去后:
# gg → 文件头
# /listen → 找 listen 关键词
# n → 下一个
# i → 插入修改
# Esc → 回普通模式
# :wq → 保存退出
# 装好后 reload
sudo nginx -s reload
进阶提示
vimtutor命令是 vim 自带的 30 分钟教程,跑一遍胜过看 10 篇文章- 学过 vim 的人在 VS Code / 浏览器 / Obsidian 都能装 vim 插件——快捷键迁移过去
- 想要 IDE 级体验:装 NeoVim + LazyVim 配置(5 分钟出 IDE)
下一篇起进入模块三:用户与权限管理。