为什么必学 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)

下一篇起进入模块三:用户与权限管理。