05 - Vim / nano 编辑器使用 ✍️
前提条件 ✅
- 已完成 Debian 12 Bookworm 基础安装 + apt 源优化 + 时间同步
- 以 ops 用户登录(具有 sudo 权限)或 root
- 虚拟机环境:VMware Workstation Pro,已安装 open-vm-tools
- 熟悉基本的 Linux 命令行操作(cd、ls、mkdir 等)
详细步骤 🛠️
- nano – 简单、适合新手(Debian 默认已安装)
常用操作快捷键(nano 底部有提示):
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 保存并退出 | Ctrl + O → Enter → Ctrl + X | 最常用组合 |
| 保存不退出 | Ctrl + O | 保存当前内容 |
| 退出不保存 | Ctrl + X | 直接退出 |
| 搜索 | Ctrl + W | 输入关键字,回车查找 |
| 下一匹配 | Ctrl + \ | 替换功能(可选) |
| 跳转到行号 | Ctrl + _ | 输入行号跳转 |
| 撤销 | Alt + U | 撤销上一步修改 |
| 重做 | Alt + E | 恢复被撤销的操作 |
快速编辑示例:
nano /etc/hosts
# 编辑完成后:Ctrl+O → Enter → Ctrl+X
- vim / vi – 功能强大、生产环境首选(Debian 默认安装 vim-tiny,轻量版)
推荐升级到完整版 vim:
sudo apt update
sudo apt install -y vim
Vim 模式与核心操作:
| 模式 | 进入方式 | 主要用途 | 退出/常用命令 |
|---|---|---|---|
| 命令模式 | 默认 / Esc | 移动、删除、复制、粘贴 | :q!(强制退出不保存) |
| 插入模式 | i / a / o / O | 输入文字 | Esc 返回命令模式 |
| 底线命令模式 | :(命令模式下按 :) | 保存、退出、搜索替换 | :wq(保存退出) / :q(退出) |
常用命令速查(命令模式下):
- 移动:h j k l / 0(行首) / $(行尾) / gg(文件首) / G(文件尾)
- 删除:x(删字符) / dd(删行) / 5dd(删 5 行) / dw(删单词)
- 复制/粘贴:yy(复制行) / p(粘贴) / 3yy(复制 3 行)
- 撤销/重做:u / Ctrl + r
- 搜索:/keyword(回车查找) / n(下一个) / N(上一个)
- 替换::%s/old/new/g(全文替换) / :%s/old/new/gc(逐个确认)
- 保存退出::wq 或 ZZ(快速保存退出)
首次配置推荐(ops 用户):
vim ~/.vimrc
常用基础配置(复制粘贴进去):
set number " 显示行号
set relativenumber " 相对行号
set autoindent " 自动缩进
set smartindent " 智能缩进
set tabstop=4 " Tab 宽度 4
set shiftwidth=4 " 缩进宽度 4
set expandtab " Tab 转空格
set cursorline " 高亮当前行
syntax on " 语法高亮
set hlsearch " 搜索高亮
set incsearch " 增量搜索
保存后重新加载:
:source ~/.vimrc
- 快速选择编辑器(生产建议)
- 临时快速编辑 → nano
- 长期运维、脚本编写、配置文件管理 → vim(熟练后效率最高)
- 可选安装:vim-plug 或 neovim(进阶用户)
实践任务 🎯
- 用 nano 编辑 /etc/hosts,添加一行
192.168.1.100 LinuxDC,保存退出 - 用 vim 创建文件 ~/test.vimrc,输入上面推荐配置,保存退出
- 用 vim 打开 /etc/apt/sources.list,练习查找替换(把一个镜像地址替换成另一个)
- 在 vim 中练习:打开文件 → 插入模式输入文字 → Esc → dd 删除一行 → u 撤销 → :wq 保存退出
自测问题 ❓
- nano 中如何快速保存并退出而不提示确认?
- vim 中如何在不进入插入模式的情况下删除当前行?
- vim 的 :%s/old/new/g 命令的作用是什么?加 c 参数后有何不同?
- 如何让 vim 默认显示行号和语法高亮?
总结 📌
nano 适合快速、临时编辑;vim 是 Linux 运维人员的“瑞士军刀”,熟练掌握后能极大提升效率。
本章配置的 ~/.vimrc 是后续大量配置文件编辑的基础,建议 ops 用户立即应用。