05 - Vim / nano 编辑器使用
前提条件
- 已完成 Debian 12 Bookworm 基础安装 + apt 源优化 + 时间同步
- 以 root 身份登录,或 ops 用户执行
sudo -i切换至 root 环境 - 虚拟机环境:VMware Workstation Pro,已安装
open-vm-tools - 熟悉基本的 Linux 命令行操作(
cd、ls、mkdir等)
详细步骤
1. nano —— 简单,适合新手
Debian 默认已安装 nano,直接使用:
nano /etc/hosts
常用快捷键(nano 底部有提示栏):
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 保存当前文件 | Ctrl + O |
回车确认文件名 |
| 保存并退出 | Ctrl + O → Enter → Ctrl + X |
最常用组合 |
| 不保存退出 | Ctrl + X |
若有修改会询问是否保存 |
| 搜索 | Ctrl + W |
输入关键字,回车查找 |
| 搜索并替换 | Ctrl + \ |
输入原文和替换文 |
| 跳转到行号 | Ctrl + _ |
输入行号后回车 |
| 撤销 | Alt + U |
撤销上一步修改 |
| 重做 | Alt + E |
恢复被撤销的操作 |
| 显示行号 | Alt + N |
切换显示 / 隐藏行号 |
2. vim —— 功能强大,生产环境首选
Debian 默认安装的是轻量版 vim-tiny,建议升级为完整版:
apt install -y vim
Vim 三种模式:
| 模式 | 进入方式 | 主要用途 |
|---|---|---|
| 普通模式(Normal) | 默认启动 / Esc |
移动光标、删除、复制、粘贴 |
| 插入模式(Insert) | i / a / o / O |
输入与编辑文字 |
| 命令行模式(Command) | 普通模式下按 : |
保存、退出、搜索替换、设置选项 |
普通模式常用命令:
| 功能 | 命令 | 说明 |
|---|---|---|
| 光标移动 | h j k l |
左下上右 |
| 行首 / 行尾 | 0 / $ |
|
| 文件首 / 文件尾 | gg / G |
|
| 删除字符 | x |
删除光标处字符 |
| 删除行 | dd / 5dd |
删除 1 行 / 5 行 |
| 删除单词 | dw |
|
| 复制行 | yy / 3yy |
复制 1 行 / 3 行 |
| 粘贴 | p / P |
光标后 / 光标前粘贴 |
| 撤销 / 重做 | u / Ctrl+r |
|
| 搜索 | /keyword + Enter |
n 下一个,N 上一个 |
命令行模式常用命令:
| 命令 | 说明 |
|---|---|
:w |
保存 |
:q |
退出(未修改时) |
:wq 或 ZZ |
保存并退出 |
:q! |
强制退出不保存 |
:%s/old/new/g |
全文替换 |
:%s/old/new/gc |
全文替换(逐个确认) |
:set number |
临时显示行号 |
:source ~/.vimrc |
重新加载配置 |
3. 推荐 vimrc 配置
为 ops 用户(或 root)创建基础配置文件:
vim ~/.vimrc
写入以下内容(普通模式下按 i 进入插入模式,粘贴后按 Esc,再输入 :wq 保存退出):
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 " 增量搜索(实时显示匹配)
set ignorecase " 搜索忽略大小写
set smartcase " 含大写字母时区分大小写
set backspace=indent,eol,start " 修复退格键行为
检查点
重新打开任意文件(如 vim /etc/hosts),应看到左侧行号、语法高亮、当前行高亮生效。
4. 编辑器选择建议
| 场景 | 推荐编辑器 |
|---|---|
| 临时快速修改配置文件 | nano |
| 日常运维、脚本编写、批量编辑 | vim |
| 需要代码补全、插件支持 | neovim(进阶,可选) |
vim 学习建议
初学 vim 时可运行内置教程:vimtutor(约 30 分钟完成),覆盖所有基本操作。坚持 2 周后效率将远超 nano。
实践任务
- 用 nano 编辑
/etc/hosts,添加一行192.168.1.100 linuxdc,保存退出 - 用 vim 创建文件
~/test.vimrc,输入上面推荐配置,保存退出 - 用 vim 打开
/etc/apt/sources.list,练习查找替换(把一个镜像地址替换成另一个镜像地址) - 在 vim 中练习:打开文件 → 插入模式输入文字 →
Esc→dd删除一行 →u撤销 →:wq保存退出
自测问题
1. nano 中如何快速保存并退出而不提示确认?
Ctrl+O 保存(直接回车确认文件名)→ Ctrl+X 退出。若文件未修改,直接 Ctrl+X 即可退出无需确认。若已修改但想保存并退出,也可以直接 Ctrl+X,nano 会询问是否保存,按 Y 后回车即完成。
2. vim 中如何在不进入插入模式的情况下删除当前行?
在普通模式下按 dd 即可删除当前行并将其存入寄存器(可用 p 粘贴找回)。若要删除多行,在 dd 前加数字,如 5dd 删除当前及之后共 5 行。
3. vim 的 :%s/old/new/g 命令的作用是什么?加 c 参数后有何不同?
:%s/old/new/g 表示在整个文件(%)范围内,将所有(g = global)old 字符串替换为 new。加 c 参数(即 :%s/old/new/gc)后,每处替换前都会高亮显示匹配内容并询问是否替换(y 替换、n 跳过、a 全部替换、q 退出),适合需要逐个审查的场景,防止误替换重要内容。
4. 如何让 vim 默认显示行号和语法高亮?
在用户主目录创建 ~/.vimrc 文件并写入:
set number
syntax on
该文件在每次 vim 启动时自动加载,无需每次手动执行 :set number。若要对系统所有用户生效,可写入 /etc/vim/vimrc.local。
总结
nano 适合快速、临时编辑;vim 是 Linux 运维人员的核心工具,熟练掌握后能极大提升配置文件管理效率。本章配置的 ~/.vimrc 是后续大量配置文件编辑操作的基础,建议立即为 ops 用户和 root 用户同步应用。