180 lines
3.3 KiB
Markdown
180 lines
3.3 KiB
Markdown
## 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 后,终端下改配置文件会高效很多
|