Linux vi/vim 编辑器详解

1. vi/vim 简介

vi 是 Unix/Linux 系统内置的文本编辑器,vim (Vi IMproved) 是其增强版本,具有语法高亮、多级撤销等特性。

1.1 vi 的三种模式

i/I/a/A/o/O
Esc
: / ?
Enter
正常模式
插入模式
命令模式

2. 基础操作

2.1 启动与退出

命令 说明
vi 文件名 打开/创建文件
:q 退出(无修改时)
:q! 强制退出不保存
:w 保存文件
:wqZZ 保存并退出

2.2 光标移动(正常模式)

命令 功能
h/j/k/l 左/下/上/右
0 行首
$ 行尾
gg 文件开头
G 文件末尾
:n 跳转到第n行

3. 编辑操作

3.1 插入文本

命令 功能
i 当前光标前插入
a 当前光标后插入
I 行首插入
A 行尾插入
o 下方新行插入
O 上方新行插入

3.2 删除内容

命令 功能
x 删除当前字符
dd 删除当前行
dw 删除当前单词
d$ 删除至行尾
:m,nd 删除m到n行

4. 高级功能

4.1 查找与替换

命令 功能
/关键词 向下搜索
?关键词 向上搜索
n 下一个匹配项
N 上一个匹配项
:%s/old/new/g 全局替换
:m,ns/old/new/g 替换m到n行

4.2 复制粘贴

命令 功能
yy 复制当前行
yw 复制当前单词
p 粘贴到光标后
P 粘贴到光标前

5. 实用技巧

5.1 多文件操作

命令 功能
:e 文件名 打开新文件
:n 下一个文件
:N 上一个文件
:ls 查看文件列表

5.2 窗口管理

命令 功能
:sp [文件名] 水平分割窗口
:vsp [文件名] 垂直分割窗口
Ctrl+w hjkl 切换窗口
Ctrl+w q 关闭当前窗口

6. 配置与自定义

6.1 配置文件 (~/.vimrc)

" 显示行号
set number

" 语法高亮
syntax on

" 缩进设置
set tabstop=4
set shiftwidth=4
set expandtab

" 显示匹配括号
set showmatch

6.2 常用插件

  1. Pathogen - 插件管理
  2. NERDTree - 文件浏览器
  3. CtrlP - 快速文件查找
  4. Tagbar - 代码结构浏览

7. 可视化速查表

┌───────────────────────────────────┐
│         vi/vim 模式切换           │
├───────────┬───────────┬───────────┤
│ 正常模式   │ 插入模式   │ 命令模式   │
│ (Esc)     │ (i,a,o)   │ (:,/)     │
└───────────┴───────────┴───────────┘

┌───────────────────────────────────┐
│        常用编辑命令速查            │
├───────────┬───────────────────────┤
│ 删除      │ dd (行), dw (词)      │
│ 复制      │ yy (行), yw (词)      │
│ 粘贴      │ p (后), P (前)        │
│ 撤销      │ u                     │
│ 重做      │ Ctrl+r                │
└───────────┴───────────────────────┘

8. 学习建议

  1. 先掌握基本模式切换和保存退出
  2. 逐步练习光标移动和简单编辑
  3. 熟练后学习查找替换和高级功能
  4. 最后自定义配置提高效率

提示:vimtutor 是内置的交互式教程,输入 vimtutor 即可开始学习。

作者:admin  创建时间:2025-05-29 09:43
最后编辑:admin  更新时间:2025-05-29 13:26