## 1、Vim 概览 Vim 是 Linux 中最常见的文本编辑器之一,特点是: - 几乎所有 Linux 环境都能遇到 - 适合终端内快速编辑文件 - 对运维排障、改配置、写脚本都很常用 学习 Vim 的关键,不是死记命令,而是先理解它的**模式切换**。 ## 2、Vim 的常见模式 ### 2.1 普通模式 打开 Vim 后默认进入普通模式,用于: - 移动光标 - 删除、复制、粘贴 - 查找 - 执行命令 ### 2.2 插入模式 用于输入和编辑文本。 常见进入方式: - `i`:在当前位置前插入 - `a`:在当前位置后插入 - `o`:在下一行插入 按 `Esc` 可以回到普通模式。 ### 2.3 命令行模式 在普通模式下输入 `:` 进入,用于: - 保存 - 退出 - 查找替换 - 设置选项 - 执行外部命令 ## 3、常用命令操作 ### 3.1 文件读写 - `:w`:保存文件 - `:q`:退出 - `:wq`:保存并退出 - `:q!`:强制退出不保存 - `:w filename`:另存为其他文件 - `:r filename`:把另一个文件内容读入当前文件 ### 3.2 调用外部命令 - `:!command`:执行外部命令 - `:r !command`:读取命令输出到当前文件 示例: ```vim :!ls :r !date ``` ### 3.3 删除、复制、粘贴 - `d`:删除 - `dd`:删除当前行 - `y`:复制 - `yy`:复制当前行 - `p`:在后面粘贴 - `P`:在前面粘贴 ### 3.4 撤销与恢复 - `u`:撤销 - `Ctrl + r`:恢复撤销的内容 - `U`:某些版本中用于撤销当前行的修改,但现代 Vim 更常用 `u` ## 4、常用设置项 以下命令通常在命令行模式执行: - `:set nu`:显示行号 - `:set nonu`:取消行号 - `:set ic`:查找时忽略大小写 - `:set noic`:查找时区分大小写 - `:set ai`:启用自动缩进 - `:set noai`:关闭自动缩进 - `:set list`:显示不可见字符 - `:set nolist`:不显示不可见字符 ### 4.1 加密说明 ```vim :set key=passwd ``` 可以为文件设置编辑时的加密口令。 ```vim :set key= ``` 取消口令。 不过这类方式现在并不是最常见的安全手段,实际生产中更常依赖系统权限和加密存储方案。 ## 5、查找与替换 ### 5.1 查找 在普通模式下输入: ```vim /关键字 ``` 然后: - `n`:向下查找下一个 - `N`:向上查找上一个 ### 5.2 替换 基本格式: ```vim :s/旧内容/新内容/修饰符 ``` ### 5.3 常见修饰符 - `i`:忽略大小写 - `g`:一行内全局替换 - `gc`:替换前逐个确认 ### 5.4 示例 替换当前行第一个 `old`: ```vim :s/old/new/ ``` 替换当前行全部 `old`: ```vim :s/old/new/g ``` 替换全文所有 `old`: ```vim :%s/old/new/g ``` 替换全文并逐个确认: ```vim :%s/old/new/gc ``` ## 6、日常使用建议 - 改系统配置文件前,先备份 - 编辑大文件时优先用查找和行号定位 - 做全局替换时,尽量先用 `gc` 确认,避免误改 - 需要长期使用时,可以把常用设置写入 `~/.vimrc` ## 7、小结 - Vim 的核心是理解普通模式、插入模式和命令行模式 - `:w`、`:q`、`:wq`、`:q!` 是最常用的保存退出命令 - `dd`、`yy`、`p`、`u` 是高频编辑命令 - `/` 查找和 `:%s///g` 替换是最常用功能 - 熟练掌握 Vim 后,终端下改配置文件会高效很多